调用实例函数是我的错,对吧?

问题描述 投票:1回答:1

我已经定义了以下类;试图测试它。但是,当我调用具有看似正确的正式和实际参数的函数时,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)\"")
            }
        }
    }

ios swift
1个回答
0
投票

呃,没关系。我不得不将调用tableData.addArray()移动到viewDidLoad()中。

我知道的比这更好。哦,好日子。

我习惯于从Swift中的函数初始化一些变量(以便不将所有内容都推送到init())。

© www.soinside.com 2019 - 2024. All rights reserved.