我收到了关于可选性的警告:
pickerView的结果与协议uipickerviewdelegate委托具有不同的可选性。
协议似乎希望我返回一个隐式未包装的可选字符串,但我不知道如何做到这一点。
import UIKit
class TimerViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet var timerPickerView: UIPickerView!
let timerPickerData = [Array(1...24), Array(1...60), Array(1...60)]
...
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return String(timerPickerData[component][row])
}
}发布于 2015-11-06 18:38:54
这是该委托方法的Swift签名:
optional public func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?您可以看到,在它的末尾,它应该返回一个可选字符串(String?),而不是像您这样的隐式未包装的可选字符串(String!)。因此,发出警告的原因是,方法签名在协议和实现之间存在差异,具体而言,您将可选性从常规可选更改为隐式未包装可选。
https://stackoverflow.com/questions/33573369
复制相似问题