Мабуть, думає укладач NSSearchPathDirectory:0
масив, і, звичайно, він очікує типу NSSearchPathDirectory
. Звичайно, не корисне повідомлення про помилку.
А щодо причин:
По-перше, ви плутаєте назви та типи аргументів. Погляньте на визначення функції:
func NSSearchPathForDirectoriesInDomains(
directory: NSSearchPathDirectory,
domainMask: NSSearchPathDomainMask,
expandTilde: Bool) -> AnyObject[]!
directory
і domainMask
це назви, ви використовуєте типи, але ви все одно повинні залишати їх поза функціями. Вони використовуються насамперед у методах.
- Крім того, Swift сильно набраний, тому вам не слід просто використовувати 0. Використовуйте натомість значення enum.
- І нарешті, він повертає масив, а не лише один шлях.
Отже, це залишає нас (оновлено для Swift 2.0):
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
і для Swift 3:
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]