我正在製作一個應用程序,我需要存儲用戶提供的一些信息。我嘗試使用的.plist文件來存儲信息,我發現這一點:iPhone讀/寫.plist文件
NSString *filePath = @"/Users/Denis/Documents/Xcode/iPhone/MLBB/data.plist";
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
[plistDict setValue:@"Man" forKey:@"Gender"];
[plistDict writeToFile:filePath atomically: YES];
的問題是,因爲我在iPhone模擬器測試它的應用程序將只只要工作。我試過這個Changing Data in a Plist,但沒有運氣。我也讀過一些關於我需要將它添加到我的包中的內容,但是如何?
新代碼:
- (IBAction)segmentControlChanged{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistLocation = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistLocation];
if (Gender.selectedSegmentIndex == 0) {
[plistDict setObject:@"Man" forKey:@"Gender"];
[plistDict writeToFile:plistLocation atomically: YES];
}
else
{
[plistDict setObject:@"Women" forKey:@"Gender"];
[plistDict writeToFile:plistLocation atomically: YES];
}
}
不,我沒有嘗試過一個「真正」的設備上運行,但我不希望它會運行,因爲該目錄不存在於「真實」設備上。我知道他們只能從他們自己的目錄中讀取/寫入,但我如何告訴Xcode使用應用程序目錄中名爲data.plist的文件而不是/ Users/Denis/Documents/Xcode/iPhone/MLBB/data。 plist?我覺得像n00b :-) – Deni 2012-02-17 21:29:56
我發佈的鏈接顯示如何獲取文件目錄作爲字符串。使用stringByAppendingString在最後添加您的plist名稱,然後使用您指定的代碼。這就是全部:) – Nick 2012-02-17 22:08:37
對不起,但我不知道你的意思。我寫了NSString * filePath = [NSHomeDirectory()stringByAppendingPathComponent:@「Documents」];但我不認爲這就是你的意思。你可以請編輯上面的代碼,以便它可以工作,並在此處寫入。我是Xcode的新手,現在我知道成爲n00b的感覺如何:-) – Deni 2012-02-17 22:34:44