ios - 在 swift 中分享单个 gif

标签 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)
}

最佳答案

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

其次,您的代码包含两个解释标记 (!)。这意味着“请让我崩溃!”如果确实发生了这种情况,你很难提示。如果您不想崩溃,请正确解开您的可选组件。

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

关于ios - 在 swift 中分享单个 gif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38353276/

相关文章:

ios - 默认今日小部件中的布局约束冲突

ios - 应用程序在 iPhone 7 上崩溃但在模拟器上没有

ios - 无法将 uibutton 类型的值转换为预期的参数字符串

ios - 为什么 Google Cloud Messaging 通知不适用于 iPhone 生产环境?

image - 通过在自定义单元格内进行修饰来制作基本的动画/翻译

ios - 向tableview添加渐变层

ios - 如果当前打开了特定的 ViewController,如何检查 AppDelegate

python - 如何用按钮调用另一个类并在类之间传递变量?

ios - 通过 iOS 共享的 UIActivityViewController 更改

iOS Simulator 8.1 和 8.2 的 UITabBar 半透明错误?