我试图在Swift应用程序中使用Obj C编写的名为TSUIKit的库来设置多列表,该库定义了自己的表TSTableView。
我已经将这些文件添加到我的项目和桥接头中,xcode可以正确识别这些类。。。
每次我执行代码时,表都会正确显示行和列,但是当我触摸任何单元格时,都会出现一个错误,显示如下:

2014-11-05 09:39:54.811 probarTabla[1584:20072] -[TSTableView numberOfColumns]: unrecognized selector sent to instance 0x7ffbc3654920
2014-11-05 09:39:54.937 probarTabla[1584:20072] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TSTableView numberOfColumns]: unrecognized selector sent to instance 0x7ffbc3654920'
*** First throw call stack:

这是视图控制器中的代码,测试项目只有一个添加了TSTableView的唯一视图,该视图对应于view controller代码中的“tabla”
#import <Foundation/Foundation.h>
#import "TSTableView.h"
#import "TSTableViewDelegate.h"
#import "TSTableViewDataSource.h"
#import "TSTableViewHeaderSectionView.h"
#import "TSTableViewModel.h"

视图控制器代码:
import UIKit

class ViewController: UIViewController, TSTableViewDelegate {


    @IBOutlet var tabla: TSTableView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        tabla.delegate = self
        tabla.autoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight

        var pruebaColumna : NSArray = [
            ["title" : "Probando Columna 1"],
            ["title" : "Probando Columna 2"],
            ["title" : "Probando Columna 3"]
        ]

        var model : TSTableViewModel = TSTableViewModel(tableView: tabla, andStyle: kTSTableViewStyleDark)


        var pruebaFila : NSArray = [
            ["cells" : [
                ["value": "valor1"],
                ["value": "valor2"],
                ["value": "valor3"]

                ]
            ]
        ]

        model.setColumns(pruebaColumna, andRows: pruebaFila)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func tableView(tableView: TSTableView!, didSelectRowAtPath rowPath: NSIndexPath!, selectedCell cellIndex: Int) {
        println("Has hecho click en la celda")
    }
}

提前谢谢

最佳答案

保持对模型的强烈引用是很重要的,因为这是数据源。
一旦你对它有很强的参考价值,你的问题就会得到解决。

08-19 20:42