2016-08-08 17 views
2

Ich versuche, eine XIB-Datei als Zelle in einer Tabellenansicht zu verwenden. aber es sagt "unerwartet gefunden Null beim Auspacken eines optionalen Wertes" auf registerNib. Ich denke, es geht um den Verweis auf Outlet, aber ich weiß nicht, warum es auftritt. meiner Sicht ist wie folgt:Tabellenansicht findet Null, während eine Xib-Zelle verwendet

enter image description here

, da es zeigt, Tabellenansicht innen Video abspielen View-Controller ist.

mein viewDidLoad ist:

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    self.tableView.registerNib(UINib(nibName: "NewestTableViewCell", bundle: nil), forCellReuseIdentifier: "NewestTableViewCell") 
} 

und Tabellenansicht Methoden:

// MARK: - Table view data source 
func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return 1 
} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return video.count 
} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell : NewestTableViewCell = tableView.dequeueReusableCellWithIdentifier("NewestTableViewCell") as! NewestTableViewCell 

    let vd = video[indexPath.row] 

    cell.title.text = vd.title 
    cell.title.textAlignment = .Right 
    cell.duration.layer.borderColor = UIColor.whiteColor().CGColor 
    cell.duration.layer.borderWidth = 1.0 
    cell.duration.layer.cornerRadius = 3.0 
    cell.duration.clipsToBounds = true 
    cell.duration.text = vd.length 
    imageDl(vd.imageUrl){ image in 
     cell.videoImage.image = image 
    } 
    cell.time.text = vd.published 
    cell.time.textAlignment = .Right 
    cell.viewed.text = vd.view 
    cell.viewed.textAlignment = .Right 


    return cell 
} 

Ich habe diese Feder in anderen TableViewControllers aber wenn in UIViewController mit der Tableview enthält, it'n funktioniert nicht. Welcher Grund verursacht das?

dank

+0

Wurde die Xib instanziiert? – penatheboss

+0

@penatheboss ich habe gerade registerNib in viewDidLoad. Wo sollte ich es instanziieren und wie? –

+1

Das Xcode-Bildschirmbild zeigt, dass das UITableView mit der 'view'-Eigenschaft Ihres ViewControllers verbunden ist, nicht mit der Eigenschaft' tableView'. – OOPer

Antwort

1

Das einzige, was in der Zeile, die gewaltsam ausgepackt werden könnte, ist Ihre Tableview. Überprüfen Sie die Referenzsteckdose.