gpt4 book ai didi

ios - 设置对象 :ForKey: crash?

转载 作者:行者123 更新时间:2023-12-01 20:04:49 26 4
gpt4 key购买 nike

我在控制台中遇到此崩溃:

2011-08-27 23:26:45.041 App[1672:3117] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary setObject:forKey:]: attempt to insert nil key'
*** First throw call stack:
(0x3231c8c3 0x362ee1e5 0x3231c7bd 0x3231c7df 0x32289679 0x3052e865 0x3220fd55 0x3221b7a3 0x3345e4b7 0x3345e38c)
terminate called throwing an exception[Switching to process 10243 thread 0x2803]
[Switching to process 10243 thread 0x2803]

我认为在崩溃时与此崩溃相关的唯一会触发的行是这一行:

UIImage *photo = [self.selectedDictionary objectForKey:@"ProfileImage"];

这里看起来有什么问题吗?可能是什么问题?

编辑1:当我这样做来调用方法时,它崩溃了:代码:

if(actionSheet.tag == 1) {
[self showAchievements];
}

这是 showAchievements 方法:代码:

- (void)showAchievements {
GKAchievementViewController *achievements = [[GKAchievementViewController alloc] init];
if (achievements != nil)
{
achievements.achievementDelegate = self;
[self presentModalViewController:achievements animated:YES];
}
}

- (void)achievementViewControllerDidFinish:(GKAchievementViewController *)viewController
{
[self dismissModalViewControllerAnimated:YES];
[viewController release];
}

这次崩溃可能是因为我没有正确连接 iTC 中的所有内容吗?我确信它会在该方法中崩溃,但我不知道为什么。

有人有什么想法吗?

Edit2:我正在这里开始处理它,在我的控制台中,就在它崩溃之前,它有一行说“错过了方法”。所以我搜索这个 NSLog 在哪里,它在 GameCenterManager.m 中,我认为这是 Game Center 必需的文件。方法如下:

    - (void) callDelegate: (SEL) selector withArg: (id) arg error: (NSError*) err
{
assert([NSThread isMainThread]);
if([delegate respondsToSelector: selector])
{
if(arg != NULL)
{
[delegate performSelector: selector withObject: arg withObject: err];
}
else
{
[delegate performSelector: selector withObject: err];
}
}
else
{
NSLog(@"Missed Method");
}
}

那么从这段代码中你看出什么问题了吗?

谢谢!

最佳答案

我猜答案就在您发布的代码中:

reason: '-[__NSCFDictionary setObject:forKey:]: attempt to insert nil key'

您无法将 nil 键插入字典中。您是否在执行类似 [myDictionary setObject:foo forKey:bar] 的操作,其中“bar”为零?

顺便说一句,您也不能将 nil 值插入字典中,但这似乎并不是错误原因所指示的内容。您可以调用[myDictionary setValue:nil forKey:bar](只要bar不为零) - 这会从字典中删除键。如果您想指示“nil”值,可以将 NSNull 对象插入字典中。但是键——键必须始终非零。

关于ios - 设置对象 :ForKey: crash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218927/

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