看起来像协议的NSSet(NSSet <nsobject * =“”> * name)

时间:2015-08-17 17:35:45

标签: ios objective-c core-data nsset

我使用数据模型编辑器生成了NSManagedObject个子类(PhotographerPhoto) - 他们有Photographer - &gt; To-Many-&gt; Photo关系。

Photographer(CoreDataProperties)类附带了一个属性:

@interface Photographer (CoreDataProperties)

...
@property (nullable, nonatomic, retain) NSSet<Photo *>  *photos;

@end

NSSet<Photo*>是什么意思?您能否使用类似协议的表示法指定NSSet中的对象类型?无法在文档中或其他任何位置找到有关它的任何信息。

2 个答案:

答案 0 :(得分:2)

在Xcode 7中,Apple已经添加了轻量级泛型&#39;目标C。

如果类型不匹配,它们将生成编译器警告。

  

NSArray,NSSet和NSDictionary类型的Objective-C声明   使用轻量级通用参数化由Swift导入   保留其内容类型的信息。

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html#//apple_ref/doc/uid/TP40014216-CH4-ID35

答案 1 :(得分:1)

最近为Swift / Objective-C互操作添加了这个。

请参阅:https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_7_0.html并查找&#34; generics&#34;。