在过去的几个月中,我一直在使用UILocalizedIndexedCollation通过User NSObject上的核心数据属性“ lastName”对UITableView进行排序。
我当前为每个用户确定部分的代码如下所示:
addUserObject.section = self.collation.sectionForObject(user, collationStringSelector: Selector("lastName"))
但是,在Xcode 7.3中,我收到了编译器警告:
No method declared with Objective-C selector 'lastName'
我首先想到的是使用新的Selector格式,如下所示:
Selector(User.lastName)
但这会产生一个错误:
Instance member 'lastName' cannot be used on type 'User'
该代码按原样工作正常,但我想以“正确”的方式摆脱警告。有人有什么想法吗?
最佳答案
Swift 2.2中用于选择器的新语法是#selector(your_method_name)。
在您的情况下,编译器会警告您您没有名为“ lastName”的方法。从外观上,您试图将对象属性作为必须作为方法的选择器进行传递。
第二个错误告诉您您正在尝试访问类属性,但是该类没有这样的属性。您可能要访问一个实例变量。
关于ios - 带有UILocalizedIndexedCollation的Swift选择器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36431856/