objective-c – 为什么NSObject的“isMemberOfClass:class”在X
发布时间:2020-12-14 17:50:03 所属栏目:百科 来源:网络整理
导读:模糊的概述是我在NSArray类别中编写一个方法,它将接受一个Class并将一个Array过滤到属于该类成员的元素.就像是: @implementation NSArray(filter)-(NSArray*)objectsOfClass:(Class)aClass { NSMutableArray *ret = [[NSMutableArray alloc] init]; for (id
模糊的概述是我在NSArray类别中编写一个方法,它将接受一个Class并将一个Array过滤到属于该类成员的元素.就像是:
@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的自动完成之间存在差异? 谢谢! 解决方法
在没有明确的所有权资格的情况下,可以推断出一个;这通常是__strong但是在Class的情况下它是__unsafe_unretained.这是有道理的,因为Class对象是不朽的,不需要由代码管理内存.
所以Xcode只是隐式显式,你不需要自己做. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Xcode是否隐式将plist转换为二进制格式?
- ruby-on-rails – 如何配置database.yml以部署到Heroku
- ruby-on-rails – 从模型重建索引后,Searchkick索引为空
- Oracle存储过程与触发器
- ArcGIS API for Flex (使用ArcGIS API for Flex 创建一个新
- objective-c – 枚举包含字典的数组会产生意外的输出
- 如何在C#中使用迷你歌剧?
- cocos2dx刮奖效果实现
- c# – 如何以编程方式读取附加依赖项属性的值?
- error while obtaining ui hierarchy xml file...用 uiauto