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