Ben*_*ynn 1 memory-management objective-c ios
我可能会过度思考这个问题.
// Inside some method...
NSThread *thread = [[NSThread alloc] initWithTarget:functionWrapper selector:@selector(run) object:nil];
[thread start];
Run Code Online (Sandbox Code Playgroud)
[thread release]在此之后调用:A.避免内存泄漏并且是必要的或...... B.会破坏事物.
这个问题的答案表明线程在完成执行时会自行释放,但是这种行为记录在哪里?
是的,你必须通过autorelease或release释放它.
但是,你真的不需要首先创建自己的线程,objective-c有很多方法可以实现线程而无需自己分配新线程,比如
[self performSelectorInBackground:@selector(yourMethod) withObject:nil];
Run Code Online (Sandbox Code Playgroud)
还有NSOperations也允许您排队任务.
| 归档时间: |
|
| 查看次数: |
1208 次 |
| 最近记录: |