在 NSString stringWithFormat 上崩溃



我有一个行代码可以创建一个NSString,如下所示,

NSString *paramString = [NSString stringWithFormat:@"?user_id=%@&x=%@&y=%@",_selectedID, _selectedX,[MyModel shared].currentUser.userID];

我确实收到以下崩溃报告:

crash in :
Thread 0 crashed:
libobjc.dylib      objc_msgSend + 16
CoreFoundation _NSDescriptionWithLocaleFunc + 68
CoreFoundation _CFStringAppendFormatCore + 6004
CoreFoundation _CFStringCreateWithFormatAndArgumentsAux + 116
Foundation [NSPlaceholderString initWithFormat:locale:arguments] + 160

当前用户中的userID是 NSString。 _selectdID_selectedX 都是从 VC1 传递的 NSStrings--> VC2 ---> VC3。在 VC2 和 VC3 中,两者都声明为 @property(nonatomic,assign)

但是,根据崩溃报告,此崩溃仅发生在大约1%的用户身上,并且所有用户都在iOS 7.1.1上。

我试图模拟它,但没有运气。是因为内存被释放吗?有没有可以模拟这个?

尝试使用复制或强修饰符声明 NSString 属性,以确保它们在内存中。它们可以被释放,它们的指针引用另一个变量

问题是它之后被取消引用了。请使用关键字 strong,以免取消引用。

最新更新