gab*_*m10 3 iphone objective-c ipad
所以我在UserDefaults中保存了用户名.出于某种原因,我遇到了一些奇怪的行为.
我有一个数据控制器,可以根据用户名从服务器获取一些数据.
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSLog(@"NSUserDefaults dump: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
userID = [prefs stringForKey:@"username"];
Run Code Online (Sandbox Code Playgroud)
这在前几次工作正常,但在我做了一些随机的东西并回去尝试重新加载视图后,它崩溃了.它说:
-[CFString retain]: message sent to deallocated instance 0x4b18ff0
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为它在NSLog线路上停止.有没有人见过这个或知道为什么会发生这种情况?
你如何定义你的用户ID?如果它是具有retain属性的属性,则应调用
self.userID = [prefs stringForKey:@"username"];
这样你的字符串将自动保留.从stringForKey返回的字符串是自动释放的.
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |