Ios 在UIActivityViewController中使用名称共享数据
我在我的应用程序中添加了共享功能,以共享名称、价格、数量和描述等数据。我就是这样做到的Ios 在UIActivityViewController中使用名称共享数据,ios,swift,uiactivityviewcontroller,Ios,Swift,Uiactivityviewcontroller,我在我的应用程序中添加了共享功能,以共享名称、价格、数量和描述等数据。我就是这样做到的 let prodObj = newProdDetails[indexPath.row] let name = prodObj.name let price = prodObj.mrp let qty = prodObj.quantity let description = prodObj.descriptions let activityViewController:UIActivityViewContro
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,6500(如果名称是Box,数量是6,价格是500)
但当我发送时,我希望接收方得到类似的信息
Name: Box
Quantity: 6
Price: 500
而不仅仅是盒子,6500
我如何实现这一点…?发送活动项的字符串,如
“Name:\(Name)”
发送活动项的字符串,如“名称:\(名称)”
您可以这样尝试:
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%工作您可以这样尝试:
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%工作您可以这样做
let share : String = "Name: \(name) \nQuantity: \(qty) \nPrice: \(price)"
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [share], applicationActivities: nil)
你可以这样做
let share : String = "Name: \(name) \nQuantity: \(qty) \nPrice: \(price)"
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [share], applicationActivities: nil)
只需运行代码:
let name = "javed"
let price = 700
let qty = 77
let finalString:String = "Name:" + name + "\n" + "Quantity:" + String(qty) + "\n" + "Price:" + String(price)
print(finalString)
结果:
Name: Box
Quantity: 6
Price: 500
或者您已经有了字符串值:
Name: Box
Quantity: 6
Price: 500
只需运行以下代码:
let name = "javed"
let price = 700
let qty = 77
let finalString:String = "Name:" + name + "\n" + "Quantity:" + String(qty) + "\n" + "Price:" + String(price)
print(finalString)
结果:
Name: Box
Quantity: 6
Price: 500
或者您已经有了字符串值:
Name: Box
Quantity: 6
Price: 500
发生的事情不是从中传递单个属性,如名称价格数量,而是从中创建一个字符串或字典数组(键值对,这样您就知道哪个值与哪个键关联),然后传递整个数组,您还可以检查值是否存在,然后只将其添加到最终数组中(根据您的要求) 此外,在使用前检查prodObj是否为nil,如果其为nill,则可以返回(根据您的要求)
还要理解为什么在从StackOverflow复制粘贴代码之前,因为这样可以节省您以后的时间,发生的事情不是传递单独的属性,比如名称价格数量,而是使用创建字符串数组或字典(键值对,这样您就知道哪个值与哪个键关联)然后传递整个数组,您还可以检查值是否存在,然后仅将其添加到最终数组(根据您的要求) 此外,在使用前检查prodObj是否为nil,如果其为nill,则可以返回(根据您的要求)
也要理解为什么在从StackOverflow复制粘贴代码之前,因为这样可以节省您以后的时间,这绝对有效,请让我知道结果是什么?它在let
finalString:String…
中给出了一个错误,因为表达式太复杂,无法在合理的时间内解决;考虑将表达式分解为不同的子表达式< /代码>:如果要字符串级联<代码>“值:\(value)”<代码>优于<代码>值:+value
hey Total Solution这绝对有效让我知道结果是什么?它在letfinalString:String…
as表达式太复杂,无法在合理的时间内解决;如果你想把表达式分解成不同的子表达式如果你想要字符串级联<代码>值:\(值)优于<代码>值:“+值
嘿,必须解决这个问题。”埃姆雷·U.ZDIL,但是接收者以这种格式得到数据:价格:可选(“580”)虽然这本应该只是价格:580@D.M您可以通过或if let
检查可选控件的值Using if let给出此错误。guard let
因此,名称、价格、数量和描述是prodObj的值;我们需要2个守卫控制它在@EmreÖzdil工作,初始答案是它必须像这样打开…条件绑定的初始值设定项必须具有可选类型,而不是“NewProduct”
这确实在@EmreÖzdil工作,但接收器以以下格式获取数据:价格:可选(“580”)虽然这本应该只是价格:580@D.M您可以通过[“Name:\(Name!)”,…
或if-let
检查可选控件的值Using if-let给出此错误。guard-let
名称、价格、数量和描述是prodObj的值,因此,我们需要2个guard-controlIt使用了@EmreÖzdil的初始答案,它只是需要像这样展开…条件绑定的初始值设定项必须具有可选类型,而不是“NewProduct”
仍然不起作用@Mr.Javed Multani。它显示相同的错误OK所以检查对象值。现在只需给出静态值并测试它。谢谢@D.Mstill不起作用@Mr.Javed Multani。它显示相同的错误OK所以检查对象值。现在只需给出静态值并测试它。谢谢@D.M[“Name:\(Name!)”,…