对于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)。
感谢您的帮助。
答案 0 :(得分:0)
感谢Joachim关于在obc_exception_throw上设置符号断点的建议,我发现:1。应用程序始终以纵向方式启动,然后将调用anAimateRotation ...(事实证明,这是标准的 - 愚蠢的我)2。willAnimateRotation的现有实现...假设所有内容都已加载,因此调用了传递nil参数的内容管理方法(因为内容尚未加载)。
所以,这里的教训是应用程序始终以纵向方式启动,然后如果设备处于横向状态,则所有加载的视图将自动旋转。