我有一个行代码可以创建一个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
,以免取消引用。