模糊概述是我正在写在一个方法NSArray
类别,将采取一Class
和过滤器阵列下降到属于该类别的成员的元件。 就像是:
@implementation NSArray(filter)
-(NSArray*)objectsOfClass:(Class)aClass {
NSMutableArray *ret = [[NSMutableArray alloc] init];
for (id obj in self)
if ([obj isMemberOfClass:aClass])
[ret addObject:obj];
return [NSArray arrayWithArray:ret];
}
@end
SOOO,有了这样的方式,在我的问题。 NSObject.h表明isMemberOfClass:具有以下特征:
-(BOOL)isMemberOfClass:(Class)aClass;
当我输入的XCode这种方法中,自动完成提示,看起来像一个方法签名:
[self isMemberOfClass:(__unsafe_unretained Class)]
我的问题是:
1)为什么在NSObject.h和Xcode的自动完成的方法原型之间的差异?
2)在我自己的方法(在这个问题的开始所示),我应该包括__unsafe_unretained
修改? 如果是这样,为什么? 如果不是,为什么不呢?
谢谢!