我定义了以下课程;试图测试它。 但是当我调用看似正确的函数时 正式和实际参数,Swift 1.2报告 预期声明。
我不知道它有什么问题。
*注意:我创建了这个类是因为我无法通过引用传递数组(inout /&)来传播在被调用函数中所做的更改。这也很奇怪。
class TableData {
var dataArrays = [UITableView : [String]]()
func addArray(obj : UITableView, _ initialValues : [String] ) {
dataArrays[obj] = [String]()
dataArrays[obj]?.extend(initialValues)
}
func swapItems(tv : UITableView, _ rowa: Int, _ rowb : Int) {
var item1 = dataArrays[tv]![rowa] as String
var item2 = dataArrays[tv]![rowb] as String
dataArrays[tv]![rowa] = item2
dataArrays[tv]![rowb] = item1
}
func moveItem(srcTbl: UITableView, _ srcRow : Int, _ dstTbl: UITableView, _ dstRow: Int) {
var item = getItem(srcTbl, srcRow)
insertItem(dstTbl, dstRow, item)
deleteItem(srcTbl, srcRow)
}
func insertItem(tv : UITableView, _ row: Int, _ value: String) {
dataArrays[tv]!.insert(value, atIndex: row)
}
func getItem(tv: UITableView, _ row: Int) -> String {
return dataArrays[tv]![row]
}
func deleteItem(tv: UITableView, _ row: Int) {
dataArrays[tv]!.removeAtIndex(row)
}
func count(tv: UITableView) -> Int {
return dataArrays[tv]!.count
}
func printItems(tv: UITableView, title: String? = nil) {
if title != nil {
println("\(title):")
}
for i in 0..<dataArrays[tv]!.count {
var item = dataArrays[tv]![i]
println("\(i) \"\(item)\"")
}
}
}
答案 0 :(得分:0)
我比这更清楚。好吧,漫长的一天。
我习惯于从Swift中的函数中初始化一些变量(以免将所有变量都推送到init())。