iphone - NSMutableDictionary 没有正确初始化

标签 iphone objective-c ios nsarray nsmutabledictionary

我今天遇到了一个策略错误。我有一个 NSArray 和一个 NSMutableDictionary。问题是我的 NSMutableDictionary 变成了一个数组。这是代码:

标题:

NSArray *tableViewCellValues;
NSMutableDictionary *inputValues;

实现:

- (void)viewDidLoad
{
  [super viewDidLoad];
  tableViewCellValues = [NSArray arrayWithObjects:@"First", @"Second", @"Third", nil];
  inputValues = [NSMutableDictionary dictionary];
  //other code...
}

所以通常我应该得到一个以“First”、“Second”和“Third”为对象的数组和一个空的 NSMutableDictionary。当我在初始化 NSMutableDictionary 后立即在日志中打印它时,我得到以下信息:

(lldb) po tableViewCellValues
(NSArray *) $1 = 0x00000000 <nil>
(lldb) po inputValues
(NSMutableDictionary *) $2 = 0x06a80420 <__NSArrayI 0x6a80420>(
First,
Second,
Third
)

(lldb) po [tableViewCellValues class]
error: Couldn't execute function; result was eExecutionDiscarded
(lldb) po [inputValues class]
(id) $4 = 0x01453b64 __NSArrayI

我有点困惑。我尝试清理并再次运行它,但没有任何反应。

如果重要的话,我正在使用 Mac OS X 10.7.3 和 Xcode 4.3。

如有任何帮助,我们将不胜感激。

最佳答案

你真的想为你的字典分配内存,所以它应该是:

self.inputValues = [[NSMutableDictionary alloc] init];

关于iphone - NSMutableDictionary 没有正确初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11033752/

相关文章:

ios - 有什么办法可以知道我按过哪个按钮吗?

ios - 核心数据 - 如何在第二个 TableView Controller 上重新加载 NSSet(子对象)

objective-c - Tableview 上的删除警报确认

iphone - Xcode 构建脚本来分离图像 channel ?

objective-c - AFNetworking 崩溃,正在下载 200MB 以上的大文件

ios - 如何防止第二次点击 UITableView

iphone - 推送和弹出 View Controller - 动画

ios - Objective-C如何生成具有n个值的钟形曲线数组?

ios - 如果某个应用程序仅适用于iPhone,那么iPad从何处提取1x/2x版本?

ios - 如何使用 Lambda 验证 cognito id