我知道他们说没有这样一个愚蠢的问题,但我觉得很愚蠢,因为我知道这个问题之前已被问了好几次,但我似乎无法找到适合我案例的解决方案之一(我已经努力寻找)。
所以我面临的问题是我正在创建一个Swift iOS项目,并且我正在寻找一个国家选择器。据我所知,这一系列国家没有原生解决方案,所以我遇到了'NickLockWood'(https://github.com/nicklockwood/CountryPicker)看起来很好的自定义解决方案
问题是我在尝试让它在我的Swift项目中工作时遇到了一些麻烦,因为提供的所有示例和演示代码都在obj-c中(我正在更好地转换这样的代码)从一种语言到另一种语言的代码,但我似乎还没有达到ninja级别。)。
据我所知,这就是他在viewController中使用它的方式
- (void)countryPicker:(__unused CountryPicker *)picker didSelectCountryWithName:(NSString *)name code:(NSString *)code
{
self.nameLabel.text = name;
self.codeLabel.text = code;
}
我已经设法尝试将其转换为我的Swift viewController ..
func countryPicker(picker: CountryPicker?, didSelectCountryWithName name: String!, code: String!) {
println("\(name)")
println("\(code)")
}
因此,当应用程序启动时,listPicker将填充国家/地区名称和相关标志。所以我很好地感觉它大部分正确地连接起来。 当我旋转拾取器并且它落在选择上时发生错误。然后我得到了这个......
exception 'NSInvalidArgumentException', reason: '-[UIViewController countryPicker:didSelectCountryWithName:code:]: unrecognized selector sent to instance 0x17dca740'
在与此选择器关联的ViewController中,我使用故事板将“CountryPicker”委托链接到ViewController。 然后在ViewController中这是我的代码..
import UIKit
class RegionViewController: UIViewController, CountryPickerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
func countryPicker(picker: CountryPicker!, didSelectCountryWithName name: String!, code: String!) {
println("\(name)")
println("\(code)")
}
我可能在这里错过了其他的东西吗?
谢谢!
答案 0 :(得分:1)
我的错误。
我没有关联我在故事板中工作的viewController来使用我试图触及的自定义RegionViewController。
修正了连接,所有这一切都是正确的。
谢谢!