好吧,我会保持这个简单。我正在尝试将array
dictionaries
写入命令行程序,该程序将生成我正在编写的应用程序所需的plist
。
问题是,该程序不喜欢没有@interface
部分的事实,这让我感到困惑,但话又说回来,我是Objective-C
的新人,我只是在寻找我的脚的过程。在这种语言中可以做很多事情,而且许多错误仍然存在。当你回答时要记住这一点 - 对你来说显而易见的事情对我来说并不一定是显而易见的。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool
{
// Add first dictionary below:
// 1:
NSDictionary *Dict1 = [NSMutableDictionary new];
[Dict1 setObject: @"Back-2.png" forKey:@"ImageName"];
[Dict1 setObject: [NSNumber numberWithBool: NO] forKey:@"HidePair1"];
[Dict1 setObject: [NSNumber numberWithBool: NO] forKey:@"HidePair2"];
[Dict1 setObject: [NSNumber numberWithBool: YES] forKey:@"HidePair3"];
[Dict1 setObject: [NSNumber numberWithBool: YES] forKey:@"HidePair4"];
[Dict1 setObject: [NSNumber numberWithBool: YES] forKey:@"HidePair5"];
[Dict1 setObject: @"Mass (kg)" forKey: @"Label1"];
[Dict1 setObject: @"Velocity (m/s)" forKey: @"Label2"];
[Dict1 setObject: @"null" forKey: @"Label3"];
[Dict1 setObject: @"null" forKey: @"Label4"];
[Dict1 setObject: @"null" forKey: @"Label5"];
[Dict1 setObject: @"kg • m/s" forKey: @"Units"];
[dictionaryArray addObject: Dict1];
}
}
我在Apple Dev论坛上开出了这个代码,所以这不是我已经编写的东西,我认为它通常是正确的(这里有关于假设的讲座),所以有些东西告诉我其他地方有问题我没看到的代码。
声明了名为NSArray
的{{1}},并且没有错误。它在双重评论的正上方。
这是错误,逐字:
dictionaryArray
任何解决方案?
答案 0 :(得分:4)
使用 NSMutableDictionary
代替 NSDictionary
。您无法在NSDictionary
中设置对象。您只能在 NSDictionary
对象的初始化中添加 NSDictionary
对象。