我需要在NSArray中存储对象的弱引用,以防止保留周期.我不确定使用正确的语法.这是正确的方法吗?
Foo* foo1 = [[Foo alloc] init];
Foo* foo2 = [[Foo alloc] init];
__unsafe_unretained Foo* weakFoo1 = foo1;
__unsafe_unretained Foo* weakFoo2 = foo2;
NSArray* someArray = [NSArray arrayWithObjects:weakFoo1, weakFoo2, nil];
Run Code Online (Sandbox Code Playgroud)
请注意,我需要支持iOS 4.x,__unsafe_unretained而不是__weak.
编辑(2015-02-18):
对于那些想要使用真__weak指针(不是__unsafe_unretained)的人,请查看这个问题:在ARC下归零弱引用
有没有办法在Objective-C中一次委托两个对象?我知道委托模式一次意味着一个响应,并且对于多个听众和广播有通知中心但通知不会返回任何值.
如果我有一个基于网络的大量iOS项目并且需要委托给多个侦听器并且需要从它们返回值,那么在这种情况下哪种方法应该是最好的?