在接口中创建此方法:
- (NSArray *)questionsFromJSON:(NSString *)jsonString
withError:(NSError **)error;当在实现中跳出自动完成时,它将添加以下内容:
- (NSArray *)questionsFromJSON:(NSString *)jsonString withError:(NSError *__autoreleasing *)error我认为ARC从来不需要使用自动发布,但我猜这是不同的,因为它在ARC中编译得很好。
只是好奇:)
发布于 2012-08-05 03:52:06
自动释放在ARC中被广泛使用。你只是没看到到处都是关键字。
站点的示例是当您向对象指针发送指针时,就像典型的错误场景一样.
NSError *error = nil; if (![foo bar:&error]) {
// handle error
}注意,bar方法会做一些类似.
- (void)bar:(NSError **errorPtr) {
// blah...
if (an_error_happened) {
NSError *error = [NSError muckityMuck];
*errorPtr = error;
}
}现在,错误对象已经被分配,并像函数调用中的自动释放一样“返回”。当您声明s函数/方法为"**“时,您是在隐式地声明__autorelease。
https://stackoverflow.com/questions/11813507
复制相似问题