我有一个 NSSet 对象,我想通过performSelector
-call 传递:
NSSet *myNSSetObject = [self getSet];
if (myNSSetObject.count != 1)
return;
[self performSelector:@selector(myMethod:) withObject:myNSSetObject afterDelay:0.5];
问题是 Object 在myMethod
. 由于 performSelector 保留了传递的对象,我不明白出了什么问题。
我的方法定义如下
- (void)myMethod:(NSSet *)myNSSetParam {
NSLog(@"Set count: %d", myNSSetParam.count);
[do sth];
}
NSLog 显示:设置计数:0
深入研究这个问题并且上面的计数已经表明,NSSet 对象实际上是通过的,但是会丢失它的记录。
不是 NSSet 保留了它的对象吗?