记录未保存 Cloudkit
Posted
技术标签:
【中文标题】记录未保存 Cloudkit【英文标题】:Record Not Saved Cloudkit 【发布时间】:2020-05-22 20:47:59 【问题描述】:你好,所以我正在关注本教程:https://medium.com/better-programming/data-persistence-cloudkit-b12e575bd85c 我一步一步地跟着,但是当我保存时出现这个错误:记录未保存 这是我的代码:
import UIKit
import CloudKit
import MobileCoreServices
class CloudKitViewController: UIViewController
@IBOutlet var textfield: UITextField!
let privateDatabase = CKContainer.default().privateCloudDatabase
var titles = [String]()
var recordIDs = [CKRecord.ID]()
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
@IBAction func saveBtn(_ sender: Any)
let title = textfield.text!
let record = CKRecord(recordType: "Note")
record.setValue(title, forKey: "title")
privateDatabase.save(record) (savedRecord, error) in
if error == nil
print("Record Saved")
else
print("Record Not Saved")
有人可以帮忙吗:) 编辑:
【问题讨论】:
【参考方案1】:这可能是 iCloud 容器设置的问题。您可以在 CloudKit Dashboard 中查看。您需要确保已创建包含“标题”键的“注释”记录类型。
还要确保在 Xcode 的应用功能部分中启用了 CloudKit。
您可以尝试打印实际错误以获取更多信息以帮助调试:
let record = CKRecord(recordType: "Note")
record["title"] = title // Try setting the value using subscripting (it has worked for me)
privateDatabase.save(record) (savedRecord, error) in
if error == nil
print("Record Saved")
else
print(error.localizedDescription)
在documentation 中有更多关于CKError
的信息。
另外,如果您使用 CloudKit Dashboard 检查值是否已保存,请务必刷新它。
【讨论】:
打印记录未保存:( 尝试在网络上的 CloudKit Dashboard 中手动添加记录,并查看教程代码是否检索到它。 我更新了代码,我是 cloudkit 新手,所以我真的不知道该怎么做 @MYZXI 我已经更改了我的代码,所以它会打印更多关于错误的详细信息,而不仅仅是“记录未保存”——就是它所说的 “错误?”类型的值没有成员“localizedDescription”以上是关于记录未保存 Cloudkit的主要内容,如果未能解决你的问题,请参考以下文章