相关疑难解决方法(0)

Objective-C ARC:强大vs保留和弱vs分配

有由ARC推出性能的两种新的内存管理的属性,strongweak.

除了copy显然是完全不同的东西之外,vs vs 之间有什么区别吗?strongretainweakassign

根据我的理解,这里唯一的区别是weak将分配nil给指针,而assign不会,这意味着程序将在指针释放后向指针发送消息时崩溃.但是,如果我使用weak,这将永远不会发生,因为发送消息nil不会做任何事情.

我不知道strong和之间有什么不同retain.

是否有任何理由为什么我应该使用assign,并retain在新的项目,或者是那种被弃用?

properties objective-c ios ios5 automatic-ref-counting

365
推荐指数
6
解决办法
19万
查看次数

ARC的@property定义:强还是保留?

使用Xcode 4.2和ARC,我注意到自动生成的代码NSManagedObject对于属性仍然如下:

@property (nonatomic, retain) NSString * someString;
Run Code Online (Sandbox Code Playgroud)

1)retain现在不应该用strong或替换weak

2)为什么自动生成的代码仍然使用 retain

3)retain在此属性声明中,正确的替换是什么?

我正在调试使用的问题NSFetchRequest,我认为这可能是问题的根源.思考?

properties objective-c retain nsmanagedobject automatic-ref-counting

80
推荐指数
2
解决办法
3万
查看次数

不推荐使用release方法

何时发布了发布方法?当我完成它时,我总是释放内存分配,现在看来该方法已被弃用.或者它可能不适用于某些对象?

无论如何,这就是我做的:

Customer *aCustomer = [[Customer alloc] init];
...
[aCustomer release];
Run Code Online (Sandbox Code Playgroud)

我在那里得到一个错误...任何人都在意解释为什么我发现错误,因为我释放了我的记忆?错误消息是:

'release'in unavailable:在自动引用计数模式下不可用ARC禁止显式消息发送'release'

iphone objective-c ios5 automatic-ref-counting

2
推荐指数
1
解决办法
1965
查看次数