Ios 带追加的函数在swift中不起作用
我正试图编写一个函数,将内容附加到一个值数组中,然后打印出来,但调用我的函数后打印出来时,它会返回uu lldb_expr_444.taste?! 这是我的密码:Ios 带追加的函数在swift中不起作用,ios,swift,append,Ios,Swift,Append,我正试图编写一个函数,将内容附加到一个值数组中,然后打印出来,但调用我的函数后打印出来时,它会返回uu lldb_expr_444.taste?! 这是我的密码: // Playground - noun: a place where people can play import UIKit struct taste { var TheName = "blankName" var TheDesc = "blankDesc" } var data = [taste]() fu
// Playground - noun: a place where people can play
import UIKit
struct taste {
var TheName = "blankName"
var TheDesc = "blankDesc"
}
var data = [taste]()
func addFruit(name:String,desc:String) {
data.append(taste(TheName: name as String, TheDesc: desc as String))
}
addFruit("cherry", "sweet")
println(data)
我做错了什么?您试图访问函数中的数据,但它已在函数外部声明 解决这个问题的一种方法是创建一个类,其中数组作为类变量,addFruit作为类的函数 否则,您可以将数组作为addFruit函数的参数传递,以便能够在函数内部修改它。为了打印数组,可以对其进行迭代
var data:[taste]
func addFruit(name:String, desc:String, inout fruitArray:taste) {
fruitArray.append(taste(TheName: name as String, TheDesc: desc as String))
}
addFruit("cherry", "sweet", &data)
for item in data{
println(item)
}
您需要采用可打印协议并实现返回文本结构表示的description computed变量
struct taste: Printable {
var TheName = "blankName"
var TheDesc = "blankDesc"
var description: String {
return "TheName: \(TheName); TheDesc: \(TheDesc)"
}
}
你不应该用大写字母来命名变量