2017-04-19 7 views
0

예약 앱을 만들고 있습니다. 오픈 시간을 표시하기 위해 UIPickers를 사용하고 있습니다. 선택기가 완전히 작동하지만 사용자가 제공된 선택 항목 중 하나를 선택한 후에 예약 된 시간을 삭제하는 방법을 모르겠습니다. Xcode에 비교적 익숙하지 않으므로 어떤 정보라도 크게 감사드립니다 !!선택시 UIPicker에서 문자열 삭제

import Foundation 
import UIKit 
import Firebase 
import FirebaseDatabase 

class sTimeSelectionViewController:UIViewController,UIPickerViewDataSource,UIPickerViewDelegate { 
    @IBOutlet weak var myPicker: UIPickerView! 
    @IBOutlet weak var myLabel: UILabel! 
    let pickerData = ["9:30","10:30","11:30","12:30","1:30","2:30"] 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     myPicker.dataSource = self 
     myPicker.delegate = self 
     myPicker.tag = 1 
    } 
    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { 
     return 1 
    } 
    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
     return pickerData.count 
    } 
    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
     return pickerData[row] 
    } 
    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
     myLabel.text = pickerData[row] 
    } 
    @IBAction func postData(sender: AnyObject) { 
     let ref = FIRDatabase.database().referenceFromURL("deleted URL") 
     ref.child("Time").setValue(myLabel.text) 
    } 
} 

고마워요!

답변

2

먼저 당신이 당신의 myLabel.text 코드 후 방법 didSelectRow에

pickerData.removeAtIndex(row) 

를 배열 요소를 제거하고 선택기를 다시로드 할 필요가 변수

var pickerData = ["9:30","10:30","11:30","12:30","1:30","2:30"]. 

다음에 일정에서 pickerData 선언을 변경

myPicker.reloadAllComponents() 
+0

안녕하세요. 귀하의 코드 주셔서 감사합니다! 질문이 하나 있습니다. 내 프로젝트에 코드를 추가 했으므로 행을 버튼 푸시로 선택하기 전에 데이터가 삭제됩니다 (스크롤 할 때 데이터가 삭제되는 사용 가능한 시간을 브러시 할 때). 이 문제를 어떻게 해결할 수 있을지에 대한 아이디어가 있습니까 ?? –