본문 바로가기

Swift/Error & Issue

[Swift] pickerView component의 리스트 title이 "?" 형태?!

textField를 누르면 picker뷰를 통해 등록된 계정을 보여주려고 pickerView를 사용했다.

계정 오른쪽에 textField에 picker뷰를 inputView로 등록했다.

기본적으로 구성한 코드이다.

class viewController : UITableViewController ...
{
	var accountList = [
    "A@naver.com",
    "B@naver.com",
    "C@gmail.com",
    "D@gmail.com"
    ]
	override func viewDidLoad()
    {
    let picker = UIPickerView()
    picker.delegate = self
    }
    
    //MARK: - PickerViewDelegate
    //피커뷰 몇개의 컴포넌트로 구성될건가?!
    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        1
    }
    
    //몇개의 list로 구성될 것인가?
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component : Int)->Int
    {
        
        return accountList.count
    }
    //특정 피커뷰의 행(row) 출력될 내용 반환
    func pickerViwe(_ pickerView: UIPickerView, titleForRow row : Int, forComponent component : Int)-> String?
    {
        return accountList[row]
    }

    func pickerView(_ pickerView: UIPickerView,didSelectRow row : Int, inComponent component : Int)
    {
        let list = self.accountList[row]
        self.account.text = list
        
        self.view.endEditing(true)
    }
}

그리고나서 실행을 했더니

?! accountList는 4개의 문자열을 갖는 배열인데 ?로 표시가 된다.

문제가 없는 것 같은데

...

..

음? Delegate메소드 구현을 했는데 정의가 안됬다니..


알고 보니까 

titleForRow 함수 pickerView가 아닌 pickerViwe로 쓰였던 것이다... ㅋㅋㅋ

문장 자동 완성 기능을 사용하지 않아서 타자를 신중하게 치지 못한 내 실수였다.

짠!!