【发布时间】:2013-07-18 14:13:11
【问题描述】:
我在用户默认值中设置了一个值,但我不知道它为什么会崩溃:
[[NSUserDefaults standardUserDefaults] setObject:[textField text] forKey:@"STRING"];
这很好,但是
[[NSUserDefaults standardUserDefaults] setObject:[textField text] forKey:settingKey];
这不是。 settingKey 是我正在使用的类中声明和合成的属性。事实上,即使这一行也有效
[textField setText:[[NSUserDefaults standardUserDefaults] objectForKey:settingKey]];
当模拟器崩溃时,它会将我带到我无法理解的核心基础哈希 (CFHash):
0x1c24756: call 0x1d79a00; symbol stub for: getpid
"Thread 1: EXC_BREAKPOINT (code=EXC_1386_BPT, subcode=0x0)"
【问题讨论】:
-
什么是
settingKey?是NSString之类的吗? -
你在处理多个线程吗?
-
settingsKey 还是 settingKey ? (您的代码示例显示两者)
-
它是settingKey,一个NSString。对于那个很抱歉。并不是说我知道我没有使用任何其他线程。
-
我不知道你是如何合成它的,但如果 settingKey 是一个属性,你应该使用 self.settingKey 或类似@synthesize settingKey = _settingKey;然后在您的代码中使用 _settingKey。否则你可能会得到一个空引用
标签: ios objective-c nsuserdefaults