2010-07-01 104 views
0

我在讀取和寫入plist文件時遇到問題。我可以讀取數據,但我無法寫入數據..另外,我認爲我有一個與此相關的內存管理問題。這裏是我的代碼:如何讀寫objective-c中的plist文件? (iPhone SDK)

+(NSString *) getSettingString: (NSString *)key 
{ 
NSString *path = [[NSBundle mainBundle] bundlePath]; 
NSString *finalPath = [path stringByAppendingPathComponent:@"FSSettings.plist"]; 
NSMutableDictionary* plistDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:finalPath]; 
NSString *value = [plistDictionary objectForKey:key]; 
[path release]; 
return value; 
} 

+(void) setSettingString: (NSString *)key value:(NSString *)value 
{ 
NSString *path = [[NSBundle mainBundle] bundlePath]; 
NSString *finalPath = [path stringByAppendingPathComponent:@"FSSettings.plist"]; 
NSMutableDictionary* plistDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:finalPath]; 
[plistDictionary setObject:value forKey:key]; 
[plistDictionary writeToFile:finalPath atomically:YES]; 
[path release]; 
} 

回答

1

你只需要釋放資源,如果你明確它的所有權,或者叫副本,初始化,保留方法。構建&在Xcode中分析可以幫助發現這些潛在的內存問題,但可以說,放棄對您不擁有它的[path release]的調用,因此您不應該釋放它。

0

束是隻讀,你應該寫在文件目錄中的文件。