2

所以我一直在使用NSNotificationCenterXcode 并尝试NSDictionary使用userInfo.

NSArray *objects = [NSArray arrayWithObjects:@"Example Name", @"Example Description", @"Example Date", nil];
NSArray *keys = [NSArray arrayWithObjects:@"name", @"description", @"date", nil];
    NSDictionary *dict = [NSDictionary 
                               dictionaryWithObjects:objects 
                               forKeys:keys];
    [[NSNotificationCenter defaultCenter] postNotificationName:@"Notification" object:nil userInfo:dict];

当我尝试运行应用程序并发布通知时,它会在以下行崩溃:

NSArray *keys = [NSArray arrayWithObjects:@"name", @"description", @"date", nil];

后来我发现如果数组大小超过 2 个对象,应用程序就会崩溃。

因此,如果我将代码更改为下面的代码段,它将起作用。

NSArray *objects = [NSArray arrayWithObjects:@"Example Name", @"Example Description", nil];
NSArray *keys = [NSArray arrayWithObjects:@"name", @"description", nil];
NSDictionary *dict = [NSDictionary 
                                   dictionaryWithObjects:objects 
                                   forKeys:keys];
        [[NSNotificationCenter defaultCenter] postNotificationName:@"Notification" object:nil userInfo:dict];

有什么办法可以解决这个问题,还是我做错了什么?

4

1 回答 1

1

这段代码能编译吗?尝试清理和重建项目。

于 2012-12-27T00:58:37.710 回答