【问题标题】:[__NSArrayM insertObject:atIndex:]: object cannot be nil[__NSArrayM insertObject:atIndex:]: 对象不能为 nil
【发布时间】:2013-04-09 16:38:48
【问题描述】:

由于某种原因,我找不到以下错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

由于我是 xCode 的新手,我需要一些帮助。 应用程序在以下行中崩溃:

[self.window makeKeyAndVisible];

在 ASAppDelegate.m 文件中。

整个函数是这样的:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.

AS_MainViewController *MyrootViewController = [[AS_MainViewController alloc]
                        initWithNibName:@"AS_MainViewController" bundle: [NSBundle mainBundle]];

self.window.rootViewController = MyrootViewController;

self.window.backgroundColor = [UIColor whiteColor];

return YES;
}

你能帮帮我吗?

谢谢。

【问题讨论】:

  • 我认为问题不在这里,可能在您的 viewController 类中。
  • 要么您尝试插入的对象为 nil,要么您尝试通过跳过预先索引来插入对象。在这两种情况下你都不能。这是一个非常有用的阅读:developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/…
  • 你的意思是我的xib文件?
  • 但我没有看到尝试插入东西的地方?
  • 如果您有堆栈跟踪或发生这种情况的行,这将有所帮助。您应该在所有 Objective-C 异常上添加断点。

标签: xcode null sigabrt


【解决方案1】:

终于解决了这个错误。我开始了一个新的空项目,并从头开始完成所有工作。由于我也是从旧的复制粘贴,一步一步的我也每一步都在运行。应用程序运行没有问题。 我完成了它,现在它运行了。我可以理解为什么以及这个错误是什么,但是在一个新项目中(与旧项目具有相同的代码)问题不存在!

无论如何,谢谢你的帮助。

【讨论】:

  • 真正的问题是一个对象被遗忘并且没有被合成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-19
相关资源
最近更新 更多