这是SO中已经回答的问题但是我在 Apple 文档中找不到它。你能指出我正确的方向吗?
在以下主题中
在将对象传递给 -performSelector:withObject:afterDelay: 之前是否必须保留该对象?
对 PerformSelector:withObject:afterDelay:inModes 保留计数的影响
调用performSelector:withObject:afterDelay的对象是否被NSRunLoop保留?
默认行为似乎如下:它保留接收者和参数.
我正在使用以下代码
[[self delegate] performSelector:@selector(tryToSendStoreData:) withObject:userData];
where userData
是一个未释放的对象。
记录保留计数(我知道这样做可能无效)以增量方式传递的数据其保留计数。当在委托上调用该方法时,保留计数不等于 1。
所以,我的问题是:我是否需要执行一些内存管理以避免泄漏,或者我是否必须信任苹果的东西?在这里,我以不可知论者的身份发言,因为我找不到正确的文档。
先感谢您。
您在文档中查看了错误的函数。
Retain
performSelector:withObject:afterDelay:
和类似的功能(with afterDelay
) 保留接收者和参数,因为稍后执行
不保留
performSelector:withObject:
和类似的功能(without afterDelay
)不保留任何内容,因为它们只是直接调用该函数。
[[self delegate] performSelector:@selector(tryToSendStoreData:) withObject:userData];
做与完全相同的事情
[[self delegate] tryToSendStoreData:userData];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)