将代码从Objective-C转换为Swift问题

时间:2016-05-09 19:14:03

标签: objective-c swift nsurl nsdocumentdirectory

在我的应用程序中,我想在Swift中添加以下Objective-C代码,

- (NSURL *)applicationDocumentsDirectory {
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
                                               inDomains:NSUserDomainMask] lastObject];
}

我的尝试有很多问题,除了语法不正确之外,似乎在Swift中不存在NSDocumentDirectory和NSUserDomainMask。

var applicationDocumentsDirectory : NSURL {

    return NSFileManager.defaultManager().URLsForDirectory(NSDocumentDirectory, inDomains: NSUserDomainMask.lastObject)
}

我使用这个计算属性的原因是我需要将输出URL传递给我正在使用的相机框架......

        // start recording
        NSURL *outputURL = [[[self applicationDocumentsDirectory]
                             URLByAppendingPathComponent:@"test1"] URLByAppendingPathExtension:@"mov"];
        [self.camera startRecordingWithOutputUrl:outputURL];

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

这就是你想要的:

NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).last