下面的代码打印结构数据。我只想打印结构数据而不显示结构名称。我怎样才能做到这一点?另请参阅下图。
var contacts = [Person]()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func press(_ sender: Any) {
contacts.append(Person(name: a.text!, phone: Int(c.text!)!))
print(self.contacts.description)
label.text = self.contacts.description
}
struct Person {
var name: String
var phone: Int
}}
最佳答案
有一个名为CustomStringConvertible的协议(protocol),应该用于打印结构。下面我演示了苹果在其文档中提供的简单代码。
struct Point {
let x: Int, y: Int
}
let p = Point(x: 21, y: 30)
print(p)
// Prints "Point(x: 21, y: 30)"
文档说:实现描述属性并声明 CustomStringConvertible 一致性后,Point 类型提供自己的自定义表示
extension Point: CustomStringConvertible {
var description: String {
return "(\(x), \(y))"
}
}
print(p)
// Prints "(21, 30)"
关于ios - 如何从打印的结构中删除结构名称(swift4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46633926/