-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
代码有大问题 #2
Comments
retainCount也就调试时用下,甚至在ARC下,只用instruments来查看引用计数. |
@tiger8888 说得是,这点我疏忽了,欢迎根据您的经验 完善一下,pull request me! |
直接字典存,会导致内存释放失败的吧。 |
字典存不会导致释放失败。因为如果对象应该被释放,就会直接删除字典,但是这样不是最合理的,更合理的应该是像楼上说的,采用弱引用 |
字典存放还是会导致强引用存放的对象。你可以试试对一个 VC 中控件用一个单例的字典属性保存,然后对这个控件发送通知。当 VC POP 的时候再对这个控件发送通知看看还能不能接收到。
…On 2016年12月22日 +0800 AM10:43, CoderKo1o ***@***.***>, wrote:
字典存不会导致释放失败。因为如果对象应该被释放,就会直接删除字典,但是这样不是最合理的,更合理的应该是像楼上说的,采用弱引用
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@ArmsZhou 我知道你说的了, 就是我处理的那个方法,最多会有一个对象不能及时被释放。所以我觉得采用weakObjectsHashTable来存放了,谢谢 @tiger8888 的建议! |
@tiger8888 @ArmsZhou 最后我的解决方案是采取:NSMapTable存储,目前还在测试!预计明天发布,最近比较忙!欢迎到时候测试、反馈! |
@tiger8888 @ArmsZhou 现在已经使用NSMapTable替代NSDictionary存储了,欢迎更新、测试! |
你的第一个[mapTable setObject:self forKey:pointSelectorString];这个是合理的可以防止强引用控件。但是[mapTable setObject:objects forKey:PYTHEME_COLOR_ARGS_KEY];也设置为弱引用的话可能导致设置的参数数组会被释放掉。 |
Demo中 tabBar的 文字颜色无法改变 ??? |
@wuyeRoy 不好意思 demo没处理好!现在修复了 谢谢反馈! |
再请教下 如果我不用tabBar 中间的加号按钮 应该怎么写? |
如果view的颜色要是红色,上面的label颜色要是黑色,如何改,看Demo里都是一样的颜色,能根据不同控件改不同的颜色吗。 |
别的不说,
NSInteger retainCount = [[object valueForKey:@"retainCount"] integerValue];
if (retainCount == 2) { // 对象应该被回收了
[[self themeColorPool] removeObject:dict];
}
竟然使用引用计数, 来判断,也是醉了. 为什么不使用weakObjectsHashTable等来存放......
The text was updated successfully, but these errors were encountered: