gpt4 book ai didi

swift -\n 将 AnyObject 转换为字符串后自动添加数组值?

转载 作者:行者123 更新时间:2023-11-30 10:03:04 25 4
gpt4 key购买 nike

我正在尝试将 AnyObject 类型值附加到我的 arr 上。但是当我第一次将 AnyObject 转换为 String 时,它会自动为每个值添加\n 吗?我不想更改 arr 类型和结构。谁能告诉我我该怎么做?谢谢

var arr : [(String, String)] = [("https://www.youtube.com/watch?v=AtKZKl7Bgu0","6.jpg"),
("https://www.youtube.com/watch?v=4SYlLi5djz0","7.jpg")]

var url : [String] = []
var image : [String] = []

for i in arr{

url.append(i.0)
image.append(i.1)
print("URL values.............. \(url)")
print("Image values.............. \(image)")
}

NSUserDefaults.standardUserDefaults().setObject(url, forKey: "u")
NSUserDefaults.standardUserDefaults().setObject(image, forKey: "i")
NSUserDefaults.standardUserDefaults().synchronize()

let u = NSUserDefaults.standardUserDefaults().objectForKey("u")! //as! String
let i = NSUserDefaults.standardUserDefaults().objectForKey("i")!

print("U Values \(u)")
print("I values \(i)")

// let tup = ("\(u)", "\(i)")
let tup = (String(u),String(i))
print("tup Values \(tup)")
arr.removeAll()
arr.append(tup)
print("arr Values \(arr)")

Output

最佳答案

print 添加换行符:您的对象未更改,没有在任何地方添加“\n”,这仅在打印表示中。

当您在声明对象后打印对象时,它不会添加换行符,因为它们的类型是已知的(字符串),因此 print 只需正确打印字符串而无需猜测。

但是,当您从 NSUserDefaults.standardUserDefaults().objectForKey 取回值后,它们的类型是 AnyObject,因此 print 的行为完全不同。

关于swift -\n 将 AnyObject 转换为字符串后自动添加数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37417359/

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