具有UILocalizedIndexedCollat​​ion的Swift选择器

时间:2016-04-05 16:19:14

标签: ios swift uitableview

在过去的几个月里,我一直在使用UILocalizedIndexedCollat​​ion通过核心数据属性" 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'

代码工作正常,但我想在“正确的”中删除警告'办法。有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

Swift 2.2中用于选择器的新语法是#selector(your_method_name)。

在您的情况下,编译器会警告您没有名为“lastName”的方法。从它的外观来看,你试图将一个对象属性作为选择器传递,它必须是一个方法。

第二个错误告诉您您正在尝试访问属性,但没有此类属性。您可能想要访问实例变量。