gpt4 book ai didi

ios - 迁移到 Swift 2 后出现 UIActivityViewController 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:29 26 4
gpt4 key购买 nike

ShareButton 功能在 Xcode 6 中有效,但在升级到 Xcode 7 后出现错误:

avc.completionWithItemsHandler = {

我的代码:

 @IBAction func ShareButton(sender: AnyObject) {

let things = ["Thank you"]

let avc = UIActivityViewController(activityItems:things, applicationActivities:nil)

avc.setValue("Salon Job HK", forKey: "subject")

avc.completionWithItemsHandler = {

(s: String!, ok: Bool, items: [AnyObject]!, err:NSError!) -> Void in

}

self.presentViewController(avc, animated:true, completion:nil)

if let pop = avc.popoverPresentationController {

let v = sender as! UIView // sender would be the button view tapped, but could be any view

pop.sourceView = v

pop.sourceRect = v.bounds

}

}

最佳答案

只需检查 Swift 2.0 UIActivityViewControllerCompletionWithItemsHandler 的声明:

typealias UIActivityViewControllerCompletionWithItemsHandler = (String?, Bool, [AnyObject]?, NSError?) -> Void

像这样尝试:

avc.completionWithItemsHandler = {

(s: String?, ok: Bool, items: [AnyObject]?, err:NSError?) -> Void in

}

或者简单地说:

avc.completionWithItemsHandler = {
(s, ok, items, err) in

}

swift 3

@IBAction func shareButton(sender: Any) {  
let things = ["Thank you"]
let avc = UIActivityViewController(activityItems: things, applicationActivities: nil)
avc.setValue("Salon Job HK", forKey: "subject")
avc.completionWithItemsHandler = {
(activityType, completed, returnedItems, activityError) in
// code
}
present(avc, animated: true)
}

关于ios - 迁移到 Swift 2 后出现 UIActivityViewController 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32930662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com