我的项目使用ARC。仪器中的泄漏工具报告说,NSUserDefaults initWithSuiteName:泄漏内存。
还有其他人注意到这个吗?
NSUserDefaults *theDefaults = [[NSUserDefaults alloc] initWithSuiteName:self.myGroupNameStr];

发布于 2014-12-20 19:57:43
好吧,这似乎是我自己的问题。
与[NSUserDefaults standardUserDefaults]不同,我自己的代码必须保留对[[NSUserDefaults alloc] initWithSuiteName:@"group.com.company.app"]的所有权。
因此,修复方法是在我的self.myDefaults加载时初始化UIInputViewController,然后在UIInputViewController的dealloc中实现零self.myDefaults。
发布于 2015-08-17 12:15:24
为NSUserDefaults创建一个单例NSUserDefaults,并在应用程序周期中初始化对象一次
+ (NSUserDefaults *)groupUserDefaults
{
static NSUserDefaults *sharedGroupUserDefaults = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedGroupUserDefaults = [[self alloc] initWithSuiteName:@"group.company.appName"];
});
return sharedGroupUserDefaults;
}发布于 2014-12-19 10:25:31
//试着这样做.//
[[NSUserDefaults standardUserDefaults] setObject:AppDel.arrQueueForOffline forKey:@"Queued_Process"];
[[NSUserDefaults standardUserDefaults] synchronize];https://stackoverflow.com/questions/27557571
复制相似问题