У меня есть статическая функция, которая просто считывает закладку с областью безопасности из NSUserdefaults. Например:Что возвращать, когда NSURL приводит к нулю
static func desktopURL()->NSURL {
let desktopData = NSUserDefaults.standardUserDefaults().dataForKey("desktopSecurityBookmark")
if (desktopData != nil){
let desktop = try! NSURL(byResolvingBookmarkData: desktopData!, options: NSURLBookmarkResolutionOptions.WithSecurityScope, relativeToURL: nil, bookmarkDataIsStale: nil)
desktop.startAccessingSecurityScopedResource()
return desktop
} else {
// what the heck to return when URL was not set in the first place??
let desktopNil = NSURL() // :D ??? I need to return at leas something or not?
return desktopNil
}
}
Я имею в виду, что мне нужно хотя бы что-то вернуть или нет?
Вы должны либо создать или следовать конкретной конструкции в отношении возвращаемого значения какой-либо функции. Теперь я не имею ни малейшего представления о том, что представляет собой ваш рабочий стол, поэтому все, что вы хотите вернуть, приемлемо, поскольку в этом случае вы создаете свой собственный API. –
@ user57213 Небольшой способ сделать вещи также может включать в себя исключение. –
как бы вы это сделали? – user57213