Я следующий код Objective-C:Convert [NSFileWrapper initDirectoryWithFileWrappers] Свифта
NSFileWrapper* fileWrapper;
NSMutableDictionary* wrappers = [NSMutableDictionary dictionary];
...
fileWrapper = [[NSFileWrapper alloc]
initDirectoryWithFileWrappers:wrappers];
Я попытался преобразовать выше кода Swift:
var fileWrapper : NSFileWrapper?
let wrappers = NSMutableDictionary(dictionary: [:])
....
fileWrapper = NSFileWrapper(directoryWithFileWrappers: wrappers)
последняя строка не может быть скомпилирован. Я получил сообщение об ошибке сказав
Невозможно преобразовать тип значения «NSMutableDictionary» ожидаемого типа аргумента '[String: NSFileWrapper]
Я не уверен, что это тип [String : NSFileWrapper]
, список? Есть ли способ конвертировать обертки в этот тип?
Не так много точек объявляя константу для пустого словаря буквального. Просто сделайте FileWrapper (directoryWithFileWrappers: [:]) (NS был удален в Swift 3) – Ash
@Ash Спасибо, это был старый ответ, написанный в Swift 2.x в соответствии с запросом. Обновлен ответ на Swift 3. – JAL