【发布时间】:2017-10-06 06:36:51
【问题描述】:
我有一个包含四个不同段的分段控件,并希望一次获取多个记录类型。一次只能取一个。想要获取所有 4 种记录类型,使用分段控件将它们显示在相应的表视图中。有没有办法。我对 Swift 和 iOS 还很陌生。
@IBOutlet weak var segmentControl: UISegmentedControl!
let recordType = "WebBooks"
var web = [CKRecord]()
var mobile = [CKRecord]()
var windows = [CKRecord]()
var databases = [CKRecord]()
func fetchBooksFromCloud() {
let cloudContainer = CKContainer.default()
let publicDatabase = cloudContainer.publicCloudDatabase
let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: recordType, predicate: predicate)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var returnValue = 0
switch segmentControl.selectedSegmentIndex {
case 0:
returnValue = web.count
default:
break
}
return returnValue
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier:
"CategoriesCell", for: indexPath) as! HomeTableViewCell
switch segmentControl.selectedSegmentIndex {
case 0:
let webBooks = web[indexPath.row]
cell.bookName.text = web.object(forKey: "name") as? String
cell.authorName.text = web.object(forKey: "author") as? String
if let image = web.object(forKey: "image") {
let imageAsset = image as! CKAsset
if let imageData = try? Data.init(contentsOf: imageAsset.fileURL) {
cell.bookImageName.image = UIImage(data: imageData)
}
}
default:
break
}
return cell
}
【问题讨论】:
标签: ios swift uitableview uisegmentedcontrol cloudkit