小编Ruu*_*uug的帖子

对performSelector的保留计数的影响:withObject:afterDelay:inModes

一个简单的程序:

-(void)doSomething {

 NSLog(@"self rc=%d", [self retainCount]);

 [self performSelector:@selector(doMe:) withObject:nil afterDelay:0 inModes:[NSArray arrayWithObject:NSDefaultRunLoopMode]];

 NSLog(@"self rc=%d", [self retainCount]);
}

-(void)doMe:(id)object {

 NSLog(@"i'm done");

 NSLog(@"self rc=%d", [self retainCount]);

}
Run Code Online (Sandbox Code Playgroud)

输出:

self rc=1

self rc=2

i'm done

self rc=2
Run Code Online (Sandbox Code Playgroud)

为什么保留计数增加到并保持在2?

memory-management objective-c

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

标签 统计

memory-management ×1

objective-c ×1