在过去的几个月里,我一直在使用UILocalizedIndexedCollation通过核心数据属性" lastName"来对UITableView进行排序。在用户NSObject上。 我当前用于确定每个用户的部分的代码如下所示:
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'
代码工作正常,但我想在“正确的”中删除警告'办法。有没有人有任何想法?
答案 0 :(得分:0)
Swift 2.2中用于选择器的新语法是#selector(your_method_name)。
在您的情况下,编译器会警告您没有名为“lastName”的方法。从它的外观来看,你试图将一个对象属性作为选择器传递,它必须是一个方法。
第二个错误告诉您您正在尝试访问类属性,但类没有此类属性。您可能想要访问实例变量。