为什么我不能调用我的IBOutlet以便我可以在XCode 9.3

时间:2018-05-26 05:39:39

标签: ios swift xcode uitableview delegates

我正在尝试创建UITableView委托,所以我可以在我的项目中使用它的属性。但我似乎无法调用我的ToDoListTable IBOutlet,以便我可以通过执行ToDoListTable.delegate = self使其成为委托。我在下面附上了一张图片,显示XCode甚至没有建议。所以我不确定我应该做什么。

A Photo Of my Code

5 个答案:

答案 0 :(得分:2)

如果您想使用故事板给代表,请参阅附图。

For StoryBoard please see this image您未在datasource中提供DelegateStoryBord 比 写在ViewDidLoad

tableview.delegate = self

tableview.dataSource = self

答案 1 :(得分:1)

你需要像viewdidload那样给代表     ToDoListTable.delegate = self     ToDoListTable.datasource = self

答案 2 :(得分:0)

您可以通过编写

来编程
`toDoListTable.delegate = self` (just write it if you are not able to get the instance of tableview. sometime it's just xcode issue)

或者使用故事板并选择tableview,点击连接检查器(最后一个)并将委托出口的连接添加到Viewcontroller。

答案 3 :(得分:0)

ToDoListViewController 中添加此代码段。

func viewDidLoad() {
    super.viewDidLoad()
    ToDoListTable.delegate = self
    ToDoListTable.dataSource = self
}

您应该在viewDidLoad()方法中分配您的委托。还建议使用较低的驼峰案例来命名您的IBOutlet以获得更好的代码实践。假设命名 toDoListTable 优于 ToDoListTable

答案 4 :(得分:0)

你需要“弱”之后:@IBOutlet和var

之前
@IBOutlet weak var tableView: UITableView!