だから私は一種のCocoan00bですが、この単純な小さなプログラムを書いているので、NSFileManagerデリゲートメソッド「shouldProceedAfterError...」を起動させることができません。これが私のAppDelegateで実行しているコードです
-(BOOL)copyFile {
[[NSFileManager defaultManager] setDelegate:self];
NSError *copyError = nil;
NSString *filename = [[NSString alloc] initWithString:[[[self.sourceFile path] componentsSeparatedByString:@"/"] lastObject]];
NSString *destination = [[[[[UserData sharedData] folderLocation] path] stringByAppendingString:@"/"] stringByAppendingString:filename];
[[NSFileManager defaultManager] copyItemAtPath:[self.sourceFile path] toPath:destination error:©Error];
NSLog(@"error! %@",copyError);
[filename release];
return YES;
}
- (BOOL)fileManager:(NSFileManager *)fileManager shouldProceedAfterError:(NSError *)error copyingItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath {
NSLog(@"more error... %@",error);
return NO;
}
- (BOOL)fileManager:(NSFileManager *)fileManager shouldCopyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath {
NSLog(@"in shouldCopyItemAtPath...");
return YES;
}
私が対処しようとしている状況は、ファイルが宛先にすでに存在するかどうかです。エラーは発生しますが、「moreerror...」トレースが出力されることはありません。また、shouldCopyItemAtPathからそのトレースを取得します。そのため、メソッドが起動しない理由が正確にわかりません。
私は夢中になっていますか?ここでデリゲートの実装をどのように台無しにしましたか?助けてくれてありがとう!