【发布时间】:2017-01-22 21:35:41
【问题描述】:
我正在尝试将自定义对象转换/转换为字符串,但不断收到错误消息:
无法使用参数列表为“String”类型调用初始化程序 输入“(艺术信息)”
我有一个自定义类:
class ArtInfo {
var poster: String?
var artwork: String?
var fanart: String?
init (poster: String?, artwork: String?, fanart: String?){
self.poster = poster
self.artwork = artwork
self.fanart = fanart
}
}
检索值(json 数据)后,我试图将它们放入本地数组中。数组按类别划分,json 检索和解析涵盖了所有数据,而不仅仅是这个特定的类。这是我将数据附加到本地数组的方法:
var photosArray: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
DetailShowInfo.updateAllDetails(urlExtension: url, completionHandler: { details in
let artPics = ArtInfo.init(poster: details[0].poster, artwork: details[0].artwork, fanart: details[0].fanart)
self.photosArray.append(String(artPics))// Error happens here
})
}
【问题讨论】:
-
String(artPics)应该做什么? -
它应该将自定义对象 'ArtInfo' 转换为字符串
-
"convert" 以什么方式?预期的结果是什么?
-
把ArtInfo中的数据改成字符串格式
-
程序应该如何知道如何组成该对象的字符串?它应该把三个内部变量放在一起还是倒置,在它们之间放一个逗号,打乱它们,相乘,排序? 你必须告诉程序如何根据你的对象创建一个字符串。