2016-08-24 11 views
0

最新のベータ版のSwiftへのアップデートでこれは機能しなくなり、私は困惑します。私はおそらく他のものを追加する必要があります、私はvarletを変更して、recordType["username"]password!を追加しようとしました。私はこれに新しいので、どの方向性が最も感謝するだろう!タイプ 'String?'の値を割り当てることができません。 'CKRecordValue'と入力してください

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) 
      } 
     } 
    } 
} 
+0

エラーが 'RECORDTYPE [ "ユーザー名"]のタイプは' 'CKRecordValue'であることを意味しています。 'String? 'を' CKRecordValue'型の変数に入れようとしています。それは動作しません、あなたが変数に入れた値は、正しいタイプでなければなりません。 – Jesper

答えて

3

試してみてください。

recordType["username"] = username.text! as NSString 
recordType["password"] = password.text! as NSString 
+0

私は今テストすることができませんので少し調整する必要があります。しかし、ポイントは自動的にブリッジを自動的にStringからNSStringに渡すことができないため、明示的に行う必要があります。 – matt

+0

ありがとう、マット!私が本当にやりたいことは、アプリケーションのログイン/登録を作成し、ParseではなくCloudKitを使用できることです。しかし、私はそれについて多くの情報を見つけることはできません。 –

+0

私の答えはあなたが実際に尋ねた質問にのみ向けられています。私の答えが正しいなら、それを受け入れてください(チェックマーク)。それが間違っている場合は、私はそれを修正するか、削除することができます教えてください。別の質問がある場合は、「コメントリーチ」にしないでください。 _新しい質問をしてください。 – matt

関連する問題