Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 具有类似协议的NSSet(NSSet<;NSObject*>;*名称)_Ios_Objective C_Core Data_Nsset - Fatal编程技术网

Ios 具有类似协议的NSSet(NSSet<;NSObject*>;*名称)

Ios 具有类似协议的NSSet(NSSet<;NSObject*>;*名称),ios,objective-c,core-data,nsset,Ios,Objective C,Core Data,Nsset,我已经使用数据模型编辑器生成了NSManagedObject子类(Photo和Photo),它们具有Photo->到多个->Photo的关系 摄影师(CoreDataProperties)类别附带一个属性: @interface Photographer (CoreDataProperties) ... @property (nullable, nonatomic, retain) NSSet<Photo *> *photos; @end 界面摄影师(CoreDataProp

我已经使用数据模型编辑器生成了
NSManagedObject
子类(
Photo
Photo
),它们具有
Photo
->到多个->
Photo
的关系

摄影师
(CoreDataProperties)类别附带一个属性:

@interface Photographer (CoreDataProperties)

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

@end
界面摄影师(CoreDataProperties) ... @属性(可空、非原子、保留)NSSet*照片; @结束
NSSet
是什么意思?您是否可以使用类似协议的表示法指定
NSSet
中的对象类型?在文档或其他任何地方都找不到有关它的任何信息。

这是最近为Swift/Objective-C互操作而添加的


请参阅:并查找“泛型”。

在Xcode 7中,苹果在目标C中添加了“轻量级泛型”

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

NSArray、NSSet和NSDictionary类型的Objective-C声明 使用轻量级通用参数化由Swift导入 有关所保存内容类型的信息


是的,NSSet是泛型类型,因此需要提供元素类型,以便为编译器完全定义其类型;是其类型签名的一部分。对于编译器,数组=[String]。可以使用sytanx数组()和[String]()初始化字符串数组。查看这里关于泛型类型的讨论:(我知道这是Swift而不是objective C,但我相信概念是一样的。)谢谢!我不知道是Xcode 7专用的。因此,一般来说,这只是一个编译器警告,您仍然可以向它传递任何类型的对象,只是编译器会警告您使用属性声明的类型?可以,但我建议最好删除泛型代码,只使用NSSet*photos;,那么你就不需要忽略任何警告。