在RegisterCell中,UIView将是nil

时间:2014-09-24 08:49:36

标签: ios swift custom-cell

我有一个自定义单元格,当我不使用此方法时,tableview是有效的:

 self.tableView.registerClass(goodsCell.self, forCellReuseIdentifier: "gCell");

但之后我使用上面的方法,发生了错误。

UIView等自定义单元格中的所有UILabel都变为零,因此我无法使用它。

我的自定义单元格位于StoryBoard

谁能告诉我如何解决它?


编辑:

我真的问傻瓜... 我通过以下代码转到b ViewController:

var page = BViewController();
self.presentViewController(page, animated: true, completion: nil);

实际上......这个页面视图是空的...因为它的视图是由故事板创建的。 所以,我改变了我的代码:

var page = self.storyboard?.instantiateViewControllerWithIdentifier("bViewController") as bViewController;
self.presentViewController(page, animated: true, completion: nil);

此代码将从故事板中获取视图,然后您的视图不再为空。 但它必须在故事板中设置ViewController的idnetifier,否则你将收到错误消息。

希望像我这样的人会看到这个。

2 个答案:

答案 0 :(得分:1)

现在我自己找到了答案,因为我没有真正加载布局 我用这种方法转到另一页:

self.navigationController?.pushViewController(next, animated: true);

然后,这种方式让我没有加载ViewController。所以我发现细胞是正常的。

最后我使用下面的代码来修复ViewController没有加载:

var next = self.storyboard.instantiateViewControllerWithIdentifier("view1") as page;
self.navigationController?.pushViewController(next, animated: true);

我不知道这种方式是好还是坏,但它有效。

答案 1 :(得分:-2)

尝试

self.tableView.registerClass(goodsCell.self, forCellReuseIdentifier: @"gCell");

缺少' @'