gpt4 book ai didi

ios - 访问 NSDictionary 时收到 SIGABRT

转载 作者:行者123 更新时间:2023-11-28 23:13:00 24 4
gpt4 key购买 nike

当使用导航到 PLIST 的 NSDictionary 时,我不断收到 SIGABRT 错误,

**2011-09-26 18:31:01.740 AlarmAppiPhone[3126:10d03] -[__NSCFArray _isNaturallyRTL]: unrecognized selector sent to instance 0x5cb5090
2011-09-26 18:31:01.742 AlarmAppiPhone[3126:10d03] Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray _isNaturallyRTL]: unrecognized selector sent to instance 0x5cb5090'**

在这一行,editLabelTextField.text = [alarm objectForKey:ROOT_KEY]; 我不知道为什么我会得到这个。警报是一个 NSDictionary,它使用对象作为键来导航到我这样声明的键,#define ROOT_KEY @"Root"。我在另一个文件中定义了它。 plist 看起来有点像这样,

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Root</key>
<array>
<dict>
<key>label</key>
<string>alarm1</string>
<key>time</key>
<date>2011-09-03T07:24:20Z</date>
</dict>
<dict>
<key>label</key>
<string>alarm2</string>
<key>time</key>
<string>2011-09-03T07:24:14Z</string>
</dict>
</array>
</dict>
</plist>

最佳答案

[alarm objectForKey:@"Root"] 返回一个 NSArray,您正试图将其分配给一个需要 NSString 的属性>。 (_isNaturallyRTL 是一个特定于 iOS 的 NSString 私有(private)函数。)

我假设您正在尝试访问标签。从结构上讲,这样的访问看起来像这样(您的变量 alarm 可能应该称为 alarmPlist):

NSArray *alarms = [alarmPlist objectForKey:@"Root"];
NSDictionary *alarm = [alarms objectAtIndex:0];
editLabelTextField.text = [alarm objectForKey:@"label"];

用不同的索引替换0以访问不同的警报。

关于ios - 访问 NSDictionary 时收到 SIGABRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com