我想修复我的应用程序代码中的警告。我有一个实现ttmodel协议的AddressBookModel.h
。
您可以在这个问题的答案中找到AdressBookModel的接口和实现。这正是我实现它的方式How to use Three20 TTMessageController?
但是为了
[_delegates perform:@selector(modelDidStartLoad:) withObject:self];
还有一些类似的选择器
Method -perform:withObject not found (return type defaults to id)
因为代理是一个数组
- (NSMutableArray*)delegates {
if (!_delegates) {
_delegates = TTCreateNonRetainingArray();
}
return _delegates;
}
有些人建议使用
makeObjectsPerformSelector
,但这给了我一个unrecognized selector sent to instance
异常。这是ttmodel的源代码:http://api.three20.info/protocol_t_t_model-p.php
为什么执行:缺少对象?
performSelector:withObject
是一个替代方案吗(我的应用程序在使用它时崩溃)? 最佳答案
性能:生成此警告的方法在框架中的h。您需要确保编译器正确地导入/引用此头,也就是说,您需要查看导入此特定头或检查您的three20集成配置。
您不需要将此方法更改为MaskObjistPrimultS选择器:因为这只是一个导入问题(您的代码运行良好,但只生成编译警告)。