声明字符串时奇怪的BAD_EXC_ACCESS

时间:2012-07-12 09:23:13

标签: iphone objective-c ios nsstring stringwithformat

好的,我正在做的是使用以下代码将NSString设置为值:

NSString *stringURL = [NSString stringWithFormat:@"http://api.themoviedb.org/3/movie/%@/trailers?api_key=1523229ded5824dab8bb7840782db266",searchID];

这是一个字符串,然后我将其转换为用于查询TMDB数据库的URL。这行代码给了我一个BAD_EXC_ACCESS,它让我大吃一惊,因为使用这种NSString结构是我已经成功完成了数千次而没有问题。

另外需要注意的是,此行正在执行另一次查询调用之后执行。奇怪的是,调用使stringURL以相同的方式,但它工作正常。

任何帮助将不胜感激......

3 个答案:

答案 0 :(得分:3)

您需要使用%i来记录NSInteger,而不是%@

答案 1 :(得分:0)

您需要使用以下内容 NSString * stringURL = [NSString stringWithFormat:@“http://api.themoviedb.org/3/movie/%d/trailers?api_key=1523229ded5824dab8bb7840782db266”,searchID];

因为searchID具有NSInteger类型而您正在使用“%@”

答案 2 :(得分:0)

如果是NSInteger您需要使用%ld ,或者您会收到警告,您还可以使用%d 并明确转换为{{ 1}}通过(int)searchID