在swift中分享一个gif

时间:2016-07-13 13:33:49

标签: ios swift share gif

我想创建一个能够共享gif的应用。问题是,当我使用此代码时,应用程序崩溃并且不共享任何内容。我试着查看堆栈溢出的答案,但我一无所获。 我写下面的代码。这段代码有什么问题? 非常感谢!

@IBAction func shareAction(sender: AnyObject) {
    let imageURL: NSURL = NSURL(string: "http://media.fyre.co/OM2K20rSJuMGATAFFXRK_6.gif")!
    let imageData: NSData = NSData(contentsOfURL: imageURL)!
    let objectsToShare: [AnyObject] = [imageData]
    let activityVC: UIActivityViewController = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
    self.presentViewController(activityVC, animated: true, completion: nil)
}

1 个答案:

答案 0 :(得分:0)

首先,绝对不能以这种方式使用NSURL(string:):您正试图在主线程上从网络下载文件。因此,您同步阻止主线程。那是被禁止的。正确下载(使用NSURLSession)。

其次,您的代码包含两个解释标记(!)。这意味着"请让我崩溃!"如果确实发生了什么,你很难抱怨。如果您不想崩溃,请正确打开您的Optionals。

基本上,代码中的所有内容都是以懒惰的方式完成的。做正确的事情。