0
我正在創建一個用戶按下按鈕後運行的方法。該方法根據用戶定義的名稱創建一個文件夾,並向該文件夾添加一個plist。問題是它不會創建plist。我知道代碼獨立工作,但我認爲plist的創建是在創建目錄之前完成的。有什麼方法可以添加「等待」子句嗎? 感謝iPhone等待代碼執行
- (void) addTheDirectory{
NSString *theTitle = theTitleField.text;
NSString *theDescription = theDescriptionField.text;
//create the directory
[[NSFileManager defaultManager] createDirectoryAtPath:[NSString stringWithFormat:@"%@/%@", DOCUMENTS_FOLDER, theTitle] attributes:nil];
//create the plist
NSMutableDictionary* plistDictionary = [[NSMutableDictionary alloc] init];
[plistDictionary setValue:theTitle forKey:@"Title"];
[plistDictionary setValue:theDescription forKey:@"Description"];
[plistDictionary setValue:@"0.1" forKey:@"LBVersion"];
[plistDictionary writeToFile:[NSString stringWithFormat:@"%@/%@/info.plist", DOCUMENTS_FOLDER, theTitle] atomically: YES];
}
同意:你應該檢查'-createDirectoryAtPath'的結果。不保證能夠成功,對你而言,可能不是。 – 2010-02-03 17:48:50
它成功了,因爲我可以看到創建的目錄。我想我需要考慮線程。感謝您的建議,但。 – Jack 2010-02-03 18:28:25
我認爲線程是矯枉過正。通常的做法是創建一個目錄然後立即寫入目錄。我以這種方式構建了整個填充層次結構。大多數代碼不會創建目錄,請稍等片刻,然後再寫一些內容。還有其他的錯誤,最有可能在路徑建設。在用於創建路徑的其中一個變量中可能存在編碼問題。嘗試使用其中一種專用路徑方法構建路徑,並查看是否有幫助。僅僅因爲目錄的路徑起作用,並不意味着文件的路徑。 – TechZen 2010-02-04 02:15:36