0
私は4つの異なるセグメントを持つセグメント化されたコントロールを持っており、一度に複数のレコードタイプをフェッチしたいと思います。一度に1つしか取得できませんでした。 4つのレコードタイプをすべてフェッチしたい場合は、セグメント化されたコントロールを使用して対応するテーブルビューに表示します。とにかくそこにはありますか?私はSwiftとiOSにはかなり新しいです。複数の参照用CloudKitから複数のレコードタイプを取得する
@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
}
厥は時間 'UserDefaults'にのみ1つのレコードタイプをフェッチします。一度に複数を取得したい – user6574269
複数のオブジェクトで結果の配列を取得できます。 –