小编Chi*_*ief的帖子

我疯了吗?在10.5+中帮助NSFileManager委托方法shouldProceedAfterError

所以我有点像Cocoa n00b,但是我正在编写这个简单的小程序而且我无法触发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:&copyError];

    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;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试处理的情况是文件是否已存在于目的地.我确实得到了一个错误,但我从来没有得到"更多错误......"跟踪输出.我也是从shouldCopyItemAtPath得到那个踪迹:所以我不确定为什么这个方法没有被触发?

我疯了,我怎么搞砸这里的委托实施?谢谢你的帮助!

cocoa objective-c nsfilemanager

4
推荐指数
1
解决办法
3317
查看次数

在IB中没有使用绑定和共享NSUserDefaults保存数据的麻烦

我有一个奇怪的问题,我无法弄明白.我对Interface Builder有点不满意.我想要做的似乎应该是简单的,但由于某种原因它不起作用.

在界面构建器中,我有一个带有简单NSTextField的首选项窗口.我已使用控制器键"值"和模型键"test"将值绑定到共享用户默认值控制器.我构建/运行我的应用程序并打开首选项窗口,在所述文本字段中键入一些随机值,关闭窗口.Command-Q应用程序.然后在shell中为我的应用程序执行"defaults read com.xxx.yyy",无法找到密钥和值.话虽如此,似乎下次我启动应用程序并更改它的工作值,但前提是我在关闭窗口之前将焦点从NSTextField切换下来.

在NSUserDefaults的文档中,它说共享控制器立即保存值,我在这里错过了一些愚蠢的东西吗?

谢谢你的帮助.

xcode interface-builder nsuserdefaults cocoa-bindings

2
推荐指数
1
解决办法
748
查看次数