ios - 错误 : Use of unresolved identifier 'indexPath'

标签 ios swift uiactivityviewcontroller ibaction nsindexpath

我有一个打开 UIActivityViewController 的 IBAction:

@IBAction func share(sender: UIButton) {

    let defaultText = "Check out my Pinpoint: " + self.pinpoints[indexPath.row].main + ". Get Pinpoint on the iOS App Store!"
        if let imageToShare = UIImage(data: self.pinpoints[indexPath.row].image) {
            let activityController = UIActivityViewController(activityItems: [defaultText, imageToShare], applicationActivities: nil)
            self.presentViewController(activityController, animated: true, completion: nil)
    }
}

错误出现在第二行和第三行(从 let defaultTextif let imageToShare 开始。)它说:

Use of unresolved identifier 'indexPath'

单词pinpoints是一个存储main(UILabel)和图像(UIImageView)的数组。

如何解决此错误?

最佳答案

只需在 cellforRowAtIndexPath 中为您的按钮提供一个标记,该标记将等于indexPath.row

someButton.tag = indexPath.row

现在你的函数应该是:

IBAction func share(sender: UIButton) { 
    let defaultText = "Check out my Pinpoint: " + self.pinpoints[sender.tag].main + ". Get Pinpoint on the iOS App Store!" 
    if let imageToShare = UIImage(data: self.pinpoints[sender.tag].image) { 
        let activityController = UIActivityViewController(activityItems: [defaultText, imageToShare], applicationActivities: nil)
         self.presentViewController(activityController, animated: true, completion: nil) 
    } 
}

关于ios - 错误 : Use of unresolved identifier 'indexPath' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813750/

相关文章:

ios - 如何检测用户何时尝试刷卡 "past UIScrollView content offset"?

ios - 如何更改 UIImagePicker 中的条形颜色?

ios - Swift:UIActivityViewController 为空

ios - 我的应用中缺少某些 UIActivityViewController 服务

ios - 通过添加/减去本地偏移量计算日期时间 [将任何日期时间转换为 UTC 时间格式]

ios - didActivate 没有被 CallKit 回调

ios - 选择时将值从 TabBarController 传递到 subview Controller

ios - 自动辞职并在 Swift 的文本字段中分配第一响应者

swift - 如何在 Swift 中压缩展开多个可选值?

ios - Swift 中的 UIActivityViewController 在 iPad 上崩溃