stringByAppendingString nil参数错误在横向而不是纵向

时间:2012-03-21 16:33:05

标签: ios ipad orientation

对于iPad应用程序中的以下代码:

NSString *urlString = @"http://www.domain.com/file.xml";
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:urlString]];
[request startSynchronous];

我收到了stringByAppendingString nil参数错误。问题是,只有在横向启动应用程序而不是纵向应用程序时才会抛出此错误。

不确定它是否相关,但是错误是从主线程抛出的,而上面的代码是在另一个线程中运行的。

我应该在哪里寻找虫子?我已经开始寻找可能会使用stringByAppendingString的场合,但根本找不到任何东西(并不意味着它们不在那里 - 我可能只是不明白它是如何在幕后使用的)。景观和肖像发布之间没有任何区别,除了UIView的方向,似乎工作得很好。此外,据我所知,我正在使用的URL是有效的(不用说,示例中的URL是代表性的,但不是实际的URL)。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

感谢Joachim关于在obc_exception_throw上设置符号断点的建议,我发现:1。应用程序始终以纵向方式启动,然后将调用anAimateRotation ...(事实证明,这是标准的 - 愚蠢的我)2。willAnimateRotation的现有实现...假设所有内容都已加载,因此调用了传递nil参数的内容管理方法(因为内容尚未加载)。

所以,这里的教训是应用程序始终以纵向方式启动,然后如果设备处于横向状态,则所有加载的视图将自动旋转。