我在我的应用中添加了共享功能,以分享名称,价格,数量和描述等数据。这就是我实现它的方式......
let prodObj = newProdDetails[indexPath.row]
let name = prodObj.name
let price = prodObj.mrp
let qty = prodObj.quantity
let description = prodObj.descriptions
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [name, price, qty, description], applicationActivities: nil)
self.present(activityViewController, animated: true, completion: nil)
当我在whatsapp中这样分享时,接收者得到的东西就像Box,6,500(如果名称是盒子,数量是6和价格500)。
但是当我发送邮件时,我希望接收方能够获得类似
的内容Name: Box
Quantity: 6
Price: 500
而不仅仅是Box,6,500
我怎样才能做到这一点......?
答案 0 :(得分:4)
发送活动项目的字符串,例如"Name: \(name)"
let prodObj = newProdDetails[indexPath.row]
if let name = prodObj.name,
let price = prodObj.mrp,
let qty = prodObj.quantity,
let description = prodObj.descriptions {
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: ["Name: \(name)", "Price: \(price)", "Quantity: \(qty)", "Description: \(description)"], applicationActivities: nil)
self.present(activityViewController, animated: true, completion: nil)
}
答案 1 :(得分:1)
只需运行代码:
let name = "javed"
let price = 700
let qty = 77
let finalString:String = "Name:" + name + "\n" + "Quantity:" + String(qty) + "\n" + "Price:" + String(price)
print(finalString)
<强>结果:强>
或者你已经有了字符串值:
答案 2 :(得分:0)
您可以尝试这样:
let prodObj = newProdDetails[indexPath.row]
let name = prodObj.name
let price = prodObj.mrp
let qty = prodObj.quantity
let description = prodObj.descriptions
let finalString:String = "Name:" + name + "\n" + "Quantity:" + qty + "\n" + "Price:" + price
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [finalString], applicationActivities: nil)
<强>结果:强>
Name: Box
Quantity: 6
Price: 500
测试100%正常工作
答案 3 :(得分:0)
你可以这样做。
let share : String = "Name: \(name) \nQuantity: \(qty) \nPrice: \(price)"
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [share], applicationActivities: nil)
答案 4 :(得分:0)
发生的事情不是传递单个属性,比如名称价格,而是使用(键值对,因此您知道哪个值与哪个键关联)创建了一个字符串或字典数组,然后传递整个数组,您还可以检查是否存在值,然后仅将其添加到最终数组(根据您的要求)
let prodObj = newProdDetails[indexPath.row]
let name = prodObj.name ?? "" //this means if name is nil it will set empty string
let price = prodObj.mrp ?? 0
let qty = prodObj.quantity ?? 0
let description = prodObj.descriptions ?? ""
//create array from the data you get you can create a string like below
let finalArrayString = ["Name: \(name)", "Price: \(price)", "Quantity: \(qty)", "Description: \(description)"]
//or create an array of the dictionary for using it late
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: finalArrayString , applicationActivities: nil)
另外,在使用之前检查你的prodObj是否为零,你可以返回它的nill(根据你的要求)
还要理解为什么在从StackOverflow复制粘贴代码之前,因为它会节省你的时间,