1. 程式人生 > >出現NSScanner: nil string argument libc++abi.dylib: terminate_handler unexpectedly threw an exception

出現NSScanner: nil string argument libc++abi.dylib: terminate_handler unexpectedly threw an exception

出現了

2015-04-04 20:12:51.501 Pan大夫[5001:299704] NSScanner: nil string argument

2015-04-04 20:12:51.502 Pan大夫[5001:299704] NSScanner: nil string argument

libc++abi.dylib: terminate_handler unexpectedly threw an exception


的錯誤資訊的總結:

出現了這種錯誤我當時實在找不到好的方法,後來我才發現:

原來是我的傳進的 NSString 型別的變數為空了,原來是我在程式碼塊中使用了局部變數,導致後來退出程式碼塊時,記憶體銷燬,

導致記憶體為空。

解決方法是:

1.避免使用:NSString* string = string2;

2.避免使用:NSString* string1 = [NSString stringWithFormat:@""];的形式

3.在程式碼塊中,一定要考慮,記憶體是否提前被銷燬:

對於變數:最好使用: 

NSString* string1 = [NSString alloc] initWithFormat:@"%@", string2];

的形式

//以上是我自己的見解,不足請指正,謝謝。 --- 小紅旗

QQ- 651134397