swift - 在 Swift 中与 UIActivityViewController 共享字典

标签 swift uiactivityviewcontroller

我是 Swift 的新手。我正在制作购物 list 应用程序。有两个UITextField,一个是元素名称,一个是保存到字典的元素数量。我想与 UIActivityViewController 共享此列表,但它只共享最后一个值。有人可以建议我如何与 UIActivityViewController 共享所有项目和金额。

var shoppinglist = [String:String]()

@IBOutlet weak var Item: UITextField!

@IBOutlet weak var Amount: UITextField!

@IBAction func Add(_ sender: UIButton) {
    var item = Item.text!
    var amount = Amount.text!
    shoppinglist [item] = amount
    print(shoppinglist)
     }

@IBAction func share(_ sender: UIButton) {

    let activityController = UIActivityViewController(activityItems: [shoppinglist], applicationActivities: nil)
    present(activityController,animated: true,completion: nil)
    }
}

最佳答案

试试下面的代码。我希望这个编码对你有所帮助。

class shoppinglist:NSObject {
var yourItem:String = ""
var amount:Int = 0
  init(yourItem:String, amount:Int) {
    self.yourItem = yourItem
    self.amount = amount
  }
}

在类中声明变量

var shoppingListArray = [shoppinglist]()
@IBOutlet weak var Item: UITextField!
@IBOutlet weak var Amount: UITextField!

@IBAction func Add(_ sender: UIButton) {
   self.shoppingListArray.append(shoppinglist(yourItem:Item.text, amount:Int(Amount.text!)!))
   print(shoppingListArray)
}

@IBAction func share(_ sender: UIButton) {
  let activityController = UIActivityViewController(activityItems: shoppingListArray, applicationActivities: nil)
  present(activityController,animated: true,completion: nil)
}
}

关于swift - 在 Swift 中与 UIActivityViewController 共享字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50481084/

相关文章:

ios - Swift 2 upgrade Swift 3 编译报错很多方法如willTransitionToTraitCollection :newCollection:withTransitionCoordinator

ios - swift 中的依赖倒置

ios - 在 Swift 中启动 View Controller 时无法展示插页式广告

ios - 如何使用 Swift 按字母顺序将 TableView 数据分成几部分? (重写)

ios - 使用 UIActivityViewController 共享 URL 时,如何让 "Open in Safari"图标出现?

objective-c - 具有自定义 UI 的 UIActivityViewController

ios - 创建没有 UI 的 iOS Action 扩展

objective-c - UIActivityViewController 中共享提供者的不同数据

ios - 我需要在所有应用程序的 UIActivityViewController 中显示我的应用程序作为操作扩展(默认)

ios - 隐藏 UIActivityViewController 中的底行