2016-01-20 173 views
0

我正在嘗試使用自定義UITableViewCell
設置: 的Xcode 7.1,迅速,在仿真器運行
步驟:
1.創建新的 「可可觸摸類」(CMD + N)與UITableViewCell
2.子類還可以創建XIB文件,創建時swift文件。
3.現在我想向廈門國際銀行文件加載到TableViewController
無法加載xib文件

override func viewDidLoad() { 
     super.viewDidLoad() 

    let yourNibName = UINib(nibName: "MyTableViewCell", bundle: nil) 
    tableView.registerNib(yourNibName, forCellReuseIdentifier: "test") // << EXC_BAD_INSTRUCTION 
... 

我得到:Thread 1: EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP, subcode=0x0)

信息:
1.我可以在調試區看到:那個yourNibName有內存地址,但所有其他屬性是0x0。因此XIB不能被加載?
2.我可以看到它是檢查員中的成員:目標成員
3.它在「構建階段/複製捆綁軟件資源」中
4.我做的產品清理每一件我正在嘗試的東西。
但是爲什麼?

+0

你加你的筆尖到項目的目標是什麼? – gasparuff

+0

是的:我可以看到它是「檢查員:目標成員」中的成員。 –

+0

您是否將「MyTableViewCell」標識符添加到原型單元格中? – JAL

回答

1

試試這個

你最應該像這樣

class myTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

視圖做負載FUNC這樣的:

tableView.registerNib(UINib(nibName: "MyTableViewCell", bundle: nil), forCellReuseIdentifier: "test") 
      tableView.delegate = self 
      tableView.dataSource = self 

和本功能是這樣的:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

     let cell = tableView.dequeueReusableCellWithIdentifier("test", forIndexPath: indexPath) as! MyTableViewCell 

     tableView.rowHeight = 470 
     tableView.allowsSelection = false 

     return cell 
    } 

如果它不是w ork讓我知道..

+0

謝謝,但我得到了同樣的錯誤。 –

+0

in MyTableViewCell.xib您的單元格標識符應該是「test」,以便檢查它是否相同,並且您還應該檢查「MyTableViewCell」中是否沒有拼寫錯誤 –

+0

感謝Ondra,我從代碼創建了ViewController並且錯過了自我。查看本身: -/ –

0

人們只希望在Xcode中更好的錯誤消息。這就是說我從代碼創建了一個TableViewController,並且缺少視圖本身。

self.tableView = UITableView(frame:self.view.frame) 

而且ofcource你不能做是零角度東西,這包括試圖tableView.registerNib