我正在嘗試使用用戶界面製作一個非常簡單的rsync程序。我所需要的只是拖放兩個文件路徑的功能,以便將一個文件複製到另一個文件路徑。現在,我只是想將我桌面上的一個文件複製到桌面上的一個文件夾中,而這甚至不能工作。我使用標題爲「源」和「目的地」的文本字段來刪除我拖入它們的文件路徑。我有以下代碼:cocoa中的copyItemAtURL
#import "AppController.h"
@implementation AppController
@synthesize source = _source, destination = _destination;
-(IBAction)sync:(id)sender
{
NSFileManager *manager = [[NSFileManager alloc] init];
//NSURL *source = [NSURL fileURLWithPath:@"/Users/crashprophet/Desktop/Time Out Tot Schedule.doc"];
// NSURL *destination = [NSURL fileURLWithPath:@"/Users/crashprophet/Desktop/untitled f older 2"];
NSURL *source = [NSURL URLWithString:self.source.stringValue];
NSURL *destination = [NSURL URLWithString:self.destination.stringValue];
[manager copyItemAtURL:source toURL:destination error:nil];
NSLog(@"The source path is %@ and the destation path is %@",source, destination);
NSLog(@"Got here!");
}
@end
任何想法?
NSLog記錄你的'self.source.stringValue'和'self.destination.stringValue'以確保它們是正確的。另外,創建一個錯誤對象並將其放入'copyItemAtURL:toURL:error:',然後檢查它返回的內容。 – tux91
然後決定是否需要'fileURLWithPath:'(如在您的註釋代碼中)或'URLWithString:'(如在您的真實代碼中)。如果文本字段包含路徑,則需要'fileURLWithPath:'。 –