我在使用以下代码来创建NSDictionaries的NSDictionary时遇到麻烦。没有编译错误,但是在运行时,此代码失败。

NSDictionary *section0 = [NSDictionary dictionaryWithObjectsAndKeys:
                            [NSDictionary dictionaryWithObjectsAndKeys:
                                @"Caller ID", @"label",
                                @"name", @"field",
                                @"Call", @"fieldType", nil
                            ], 0,
                            [NSDictionary dictionaryWithObjectsAndKeys:
                                @"Number", @"label",
                                @"number", @"field",
                                @"Call", @"fieldType", nil
                            ], 1,
                            nil
                         ];

这是我的第一个应用程序,非常感谢您提供的任何帮助。

最佳答案

您的键也必须是对象。 (除了这些值。)您正在使用01 int类型作为键。您应该改为使用以下内容:

[NSNumber numberWithInt:0];

因此,您的字典代码如下所示:
NSDictionary *section0 = [NSDictionary dictionaryWithObjectsAndKeys:
                            [NSDictionary dictionaryWithObjectsAndKeys:
                                @"Caller ID", @"label",
                                @"name", @"field",
                                @"Call", @"fieldType", nil
                            ], [NSNumber numberWithInt:0],
                            [NSDictionary dictionaryWithObjectsAndKeys:
                                @"Number", @"label",
                                @"number", @"field",
                                @"Call", @"fieldType", nil
                            ], [NSNumber numberWithInt:1],
                            nil
                         ];

08-19 12:12