【问题标题】:Xcode auto-complete suggests mysterious "songsAtIndexes" for NSArray getterXcode 自动完成为 NSArray getter 建议神秘的“songsAtIndexes”
【发布时间】:2013-03-21 21:56:02
【问题描述】:

我的班级有一个 NSArray 类型的属性,称为“歌曲”。我正在为它创建一个自定义 getter,XCode 为我提供了一个创建方法的选项:

songsAtIndexes:(NSIndexSet *)indexes

这是什么,为什么 XCode 提供这个?这是特定于 NSArray 属性的吗?为该方法创建方法/getter 的目的是什么?如果我不手动定义,会不会自动创建/合成?

【问题讨论】:

标签: ios objective-c xcode autocomplete nsarray


【解决方案1】:

这是一个很少使用的 KVC 优化索引集合的结果,可以在你的类上使用。你可以阅读这个here,但要摘录:

索引对多关系合规性

对于索引到多的关系,KVC 合规性要求您的类:

  • 实现一个名为 -<key> 的方法,该方法返回一个数组。
  • 或者有一个名为<key>_<key>的数组实例变量。
  • 或实现方法-countOf<Key>和-objectInAtIndex:或-<key>AtIndexes:中的一个或两个。
  • (可选)您还可以实现-get<Key>:range: 以提高性能。

它只真正用于带有 KVC 的 Core Data(偶尔NSPredicates),但如果您愿意,可以利用这些方法。

在 99% 的情况下确实没有必要实现这一点,但如果您愿意,您可以这样做。

【讨论】:

    猜你喜欢
    • 2014-10-15
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 2012-07-31
    相关资源
    最近更新 更多