2012-08-25 40 views
0

我有一個字符串和字典的PList。我將它加載到一個NSDictionary對象中,我做得很好。我堅持使用的是從外部字符串獲取NSdictionary對象的字符串條目,因爲當外部變量從一個單獨的類引用對象(用「ObjectByKey」獲取)時,NSDictionary不再處於任何位置被發現。我的問題是,我如何從NSDictionary獲取一個字符串作爲靜態字符串 - 而不是對NSDictionary字符串條目的引用?下面是我的代碼:從NSDictionary字符串項目的外部NSString

loginGlobals.h

extern NSString *loginError; 

LoginProcessorViewController.m

NSDictionary *responseData = [NSPropertyListSerialization propertyListFromData:plistData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error]; 

loginError = [responseData objectForKey:@"Error"]; 

,然後錯誤出現(EXC_BAD_ACCESS)當我這樣做是loginViewController.m:

loginErrorLabel.text = loginError; 
+0

我強烈建議您在所有項目中使用ARC。它可以防止這樣的代碼崩潰,而且蘋果強烈建議你也使用它。 –

+0

謝謝理查德,我忘記了我由於某種原因禁用了它。重新啓用它並刪除所有對我的發佈和dealloc調用的引用修復了它。 – DanielM8

回答

1

保留loginError對象

loginError = [[responseData objectForKey:@"Error"] retain]; 
相關問題