我面临两个声明NSArray<MyProtocol>
和NSDictionary<MyProtocol>
。我没有找到正确的解释,以及如何使用它。
答案 0 :(得分:3)
我认为这可能与最近完成这一轮的聪明宏有关(possibly this one,GitHub上有很多类似的项目。)
NSArray
和NSDictionary
存储的值属于id
类型。这基本上意味着所存储的对象的类型是无类型的。这个问题是你放松了类型安全。有问题的宏试图通过创建应用于数组/字典的协议来解决此问题,以便返回的对象具有比id
更具体的类型。
在Xcode中,您可以通过cmd +点击<MyProtocol>
找到<MyProtocol>
声明的位置。
我个人会避免使用这样的宏。他们正在解决一个问题,但解决方案不符合Objective-C的精神。我会通过以下一种或多种方法解决这个问题: