2012-03-18 25 views
0

在我的代碼中有這個奇怪的錯誤,我無法解決它。Objc BAD_ACCESS當使用函數分配給NSString屬性

首先我有這個singelton類,當我有一個名爲tempPassword屬性。

@private 
NSString *_tempPassword; 
} 

@property (nonatomic, retain) NSString *tempPassword; 

+(User*)owner; 
-(void) setTempPassword:(NSString*)string; 

setTempPassword僅接受此字符串並將其指定給tempPassword。問題是無論我在setTempPassword函數中做了什麼,我總是得到BAD_ACCESS。這是否與它是一個預定義的命名和不能使用,因爲我使用它?把我的頭髮拉到這裏...

+0

你在@合成tempPassword嗎? – CodaFi 2012-03-18 04:49:16

+0

是tempPassword = _tempPassword – chikuba 2012-03-18 04:52:32

+0

你是否在單例中覆蓋setter或getter?編輯:愚蠢的問題。更好:爲什麼你在.h中聲明你的覆蓋?這是不必要的 – CodaFi 2012-03-18 04:53:03

回答

1

如果你不是將字符串放在更遠的位置,而是將它設置得越來越大(雙關),那麼就沒有必要重寫setter了。你提到你已經@合成了這個屬性,所以重寫它是沒有必要的。只需撥打電話:

[[MySingleton owner]setTempPassword:@"Password"]; 

如果您從代碼中刪除這些覆蓋項,則所有內容都將正常下雨。