处理可能的nil返回函数?

时间:2017-09-14 15:33:49

标签: ios swift return

我有一个func,我想返回一个已配置的UIDocumentInteractionController

问题是,如果我无法构建文档URL,我想返回,但不能因为func需要返回查看器。如何编辑此函数,以便func在URL有效时返回查看器,如果不存在则返回存在...

func saveBase64StringToPDF(base64String: String, title: String) -> UIDocumentInteractionController {
    guard var documentsURL = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)).last,
          let convertedData = Data(base64Encoded: base64String)
        else {
            return // issue is here
    }

    documentsURL.appendPathComponent(title)

    do {
        try convertedData.write(to: documentsURL)
    } catch {
        print("FAILED TO WRITE")
    }
    let interactionController = UIDocumentInteractionController(url: documentsURL)
    return interactionController
}

2 个答案:

答案 0 :(得分:1)

在方法声明的返回类型中使用UIDocumentInteractionController?而不是UIDocumentInteractionController

任何类或对象旁边的?告诉编译器它是可选的。可选项可以包含值或nil。

答案 1 :(得分:0)

您应该将返回值设为可选

plot(pp[1,], pp[2,], type="l")
# ggplot version:
# ggplot(data.frame(x=pp[1,], y=pp[2,])) + geom_path(aes(x,y))