是指在Xcode 7中使用Swift 2编写代码,从另一个UITableViewController中获取指定section的行数(numberOfRowsInSection)。
在Swift中,可以通过委托模式来实现从一个视图控制器获取另一个视图控制器的数据。具体步骤如下:
protocol DataDelegate: class {
func getNumberOfRowsInSection() -> Int
}
class SourceViewController: UITableViewController, DataDelegate {
weak var targetViewController: TargetViewController?
// 实现协议方法
func getNumberOfRowsInSection() -> Int {
// 在这里可以通过目标视图控制器获取行数
return targetViewController?.numberOfRowsInSection() ?? 0
}
// ...
}
class TargetViewController: UITableViewController {
weak var sourceViewController: SourceViewController?
// 返回行数的方法
func numberOfRowsInSection() -> Int {
// 在这里返回实际的行数
return 10
}
// ...
}
class SourceViewController: UITableViewController, DataDelegate {
weak var targetViewController: TargetViewController?
override func viewDidLoad() {
super.viewDidLoad()
// 在这里进行其他初始化操作
// 将目标视图控制器的实例赋值给属性
targetViewController = // 获取目标视图控制器的实例
// 设置源视图控制器为目标视图控制器的代理
targetViewController?.sourceViewController = self
}
// ...
}
class SourceViewController: UITableViewController, DataDelegate {
// ...
func someMethod() {
let numberOfRows = targetViewController?.numberOfRowsInSection() ?? 0
print("Number of rows: \(numberOfRows)")
}
// ...
}
这样,就可以从另一个UITableViewController XCode7 Swift2获取numberOfRowsInSection了。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云