我是iPhone開發新手,我有一個EXC_BAD_ACCESS錯誤。錯誤EXC_BAD_ACCESS
在我的.h文件,我宣佈:
NSString *myString;
在我的.m文件,我有兩種方法:
1. CLLocationManager接口(無效)的LocationManager,當我做到這一點:
myString = [NSString stringWithFormat:@"%lf",loc.longitude];
NSLog(@"%@",myString); // it works
2.A(無效)sendPosition法:
NSLog(@"%@",myString); // EXC_BAD_ACCESS
你能幫我嗎?
這是因爲NSString是自動發佈的,如果你想讓它掛起,需要保留它。或者,你可以使它成爲一個保留的屬性,而不必調用retain(注意你仍然必須在dealloc中釋放它) – jrtc27 2010-07-26 10:26:27
謝謝,它可以工作,但myString的值可能會改變。有了保留,價值永遠是一樣的。 – 2010-07-26 10:55:57
如果您的值可以更改,請使用可變字符串,然後更改該值。否則,釋放它並在創建新值時再次設置它。說真的,看看我的答案,閱讀規則(你需要了解他們),當你遇到這樣的問題時,停下來思考。通常有一個簡單的解決方案。 – jer 2010-07-26 11:07:06