正确调试XCode上的IPhone应用程序

Tra*_*ago 2 iphone xcode iphone-sdk-3.0

下面的行有一个错误,你能用肉眼看到它吗?

NSString *title = [sender titleForState:UIControlStateNormal];
NSString *newText = [[NSString alloc] initWithFormat:"%@ button pressed.", title];
Run Code Online (Sandbox Code Playgroud)

当Iphone模拟器执行此行时,它会在没有任何其他信息的情况下崩溃.我一定错过了有关调试的内容.控制台没有给我看.

我能够弄清楚错误,我的问题与此无关.我的问题是为什么我在没有XCode帮助的情况下遇到了严重的崩溃.没有任何线索,在我意识到自己的拼写错误之前,我花了5分钟.

有什么建议?或者在为iPhone编程时我只需要小心处理错别字?

编辑:我猜有些人没有像我一样立刻看到它.错误是字符串常量缺少'@'.所以现在我的问题是为什么XCode/Simulator没有向我显示任何类型的错误消息,只是崩溃没有任何线索.我错过了有关调试的内容吗?

Vde*_*edT 5

Objective-C没有强烈验证您在编译期间或在运行时传递给消息的参数是正确的类型.它应该会给你一个警告.在这里传递ac字符串而不是NSString.因为NSString是对象(因此使用指针引用),所以当您使用简单字符串提供它时,您的方法将其用作指针.然后,您可能尝试访问无法访问的内存块...

  • 我很好奇为什么你没有收到任何警告.我在我的机器上用Xcode键入你的代码只是为了确定它给了我一个"警告:从不兼容的指针类型传递'initWithFormat:'的参数1"警告. (4认同)