0
사용자가 버튼을 한 번 실행하면 메소드가 생성됩니다. 이 메서드는 사용자가 정의한 이름의 폴더를 만들고 해당 폴더에 plist를 추가합니다. 문제는 plist를 생성하지 않는다는 것입니다. 나는 코드가 별도로 작동한다는 것을 알고 있지만 디렉토리가 생성되기 전에 plist 생성이 완료되고 있다고 생각합니다. 'wait until'절을 추가 할 수있는 방법이 있습니까? 이 방법은 디렉토리와 수익을 만들 때까지 코드가 진행되지 않도록 감사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'의 결과를 확인해야합니다. 성공하는 것은 보장되지 않으며, 아마도 귀하의 경우에는 그렇지 않습니다. –
생성 된 디렉토리를 볼 수 있기 때문에 성공합니다. 나는 스레딩을 들여다 볼 필요가 있다고 생각합니다. 그래도 조언 주셔서 감사합니다. – Jack
스레딩은 과잉이라고 생각합니다. 디렉토리를 생성하고 바로 쓰기를하는 것은 일반적인 습관입니다.이 방법으로 전체 채워진 계층을 구성했습니다. 대부분의 코드는 디렉토리를 생성하지 않으며 잠시 기다린 다음 디렉토리에 무언가를 씁니다. 뭔가 다른 것이 잘못되어 경로 구성에서 가장 가능성이 높습니다. 경로를 만드는 데 사용 된 변수 중 하나에 인코딩 문제가있을 수 있습니다. 전용 경로 메서드 중 하나를 사용하여 경로를 생성하고 그 경로가 도움이되는지 확인하십시오. 디렉토리에 대한 경로가 작동한다고해서 파일 경로가 의미하는 것은 아닙니다. – TechZen