无法将类型 'String?' 的值分配给类型 'CKRecordValue'
Cannot assign value of type 'String?' to type 'CKRecordValue'
随着最新 Beta 版本中 Swift 的更新,这不再有效,我很困惑。我可能需要添加其他东西,我已经尝试将 let
更改为 var
并将 !
添加到 recordType["username"]
和 password
。我对此很陌生,所以任何方向都将不胜感激!
import UIKit
import CloudKit
class LoginViewController: UIViewController {
@IBOutlet weak var username: UITextField!
@IBOutlet weak var password: UITextField!
let publicDatabase = CKContainer.default().publicCloudDatabase
override func viewDidLoad(){
super.viewDidLoad()
}
@IBAction func LoginTapped(sender: AnyObject){
var recordType = CKRecord(recordType: "Login")
recordType["username"] = username.text <-Cannot assign value
recordType["password"] = password.text <-Cannot assign value
publicDatabase.save(recordType) {
(record, error) in
if error == nil {
print("Created Successfully")
}
else {
print(error?.localizedDescription)
}
}
}
}
尝试:
recordType["username"] = username.text! as NSString
recordType["password"] = password.text! as NSString
随着最新 Beta 版本中 Swift 的更新,这不再有效,我很困惑。我可能需要添加其他东西,我已经尝试将 let
更改为 var
并将 !
添加到 recordType["username"]
和 password
。我对此很陌生,所以任何方向都将不胜感激!
import UIKit
import CloudKit
class LoginViewController: UIViewController {
@IBOutlet weak var username: UITextField!
@IBOutlet weak var password: UITextField!
let publicDatabase = CKContainer.default().publicCloudDatabase
override func viewDidLoad(){
super.viewDidLoad()
}
@IBAction func LoginTapped(sender: AnyObject){
var recordType = CKRecord(recordType: "Login")
recordType["username"] = username.text <-Cannot assign value
recordType["password"] = password.text <-Cannot assign value
publicDatabase.save(recordType) {
(record, error) in
if error == nil {
print("Created Successfully")
}
else {
print(error?.localizedDescription)
}
}
}
}
尝试:
recordType["username"] = username.text! as NSString
recordType["password"] = password.text! as NSString