我的项目使用ARC。 Instruments中的Leaks工具报告NSUserDefaults initWithSuiteName:泄漏内存。
有没有人注意到这个?
NSUserDefaults *theDefaults = [[NSUserDefaults alloc] initWithSuiteName:self.myGroupNameStr];
答案 0 :(得分:3)
好的,这似乎是我自己的问题。
与[NSUserDefaults standardUserDefaults]
不同,我自己的代码必须假定保留[[NSUserDefaults alloc] initWithSuiteName:@"group.com.company.app"]
的所有权。
因此修复是在我的UIInputViewController
加载时初始化self.myDefaults,然后在我self.myDefaults
的dealloc中初始化UIInputViewController
。
答案 1 :(得分:2)
为NSUserDefaults创建一个单独的sharedManager,并为应用程序周期初始化该对象
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="ticker" style="text-align: center">Ticker Text</div>
答案 2 :(得分:-5)
// 试试这种方式 .//
[[NSUserDefaults standardUserDefaults] setObject:AppDel.arrQueueForOffline forKey:@"Queued_Process"];
[[NSUserDefaults standardUserDefaults] synchronize];