2016-04-12 4 views
0

私は3つのテキストフィールド(名前、電子メール&議席)と日付ピッカーを持つviewControllerを持っています。下には、バックエンドに予約を送信するためのコンセントとして接続されているボタンがあります。私はすでにいくつかのことを試しましたが、何らかの理由でデータが保存されません。私はバックエンドに接続しています。なぜなら、Apiコールとバイト単位のデータストレージを見ることができるからです。コードを確認してください。私のコードがKinveyバックエンドにデータを保存しないのはなぜですか?

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

    self.sendReservation.addTarget(self, action: "sendBooking:", forControlEvents: .TouchUpInside) 

    let reservation = Booking() 
    reservation.name = userName.text 
    reservation.email = userEmail.text 
    reservation.seats = userSeat.text 
    reservation.date = NSDate(timeIntervalSince1970: 1352149171) //sample date 

      func sendBooking (sender: UIButton) { 

     KCSUser.loginWithUsername("admin", password: "leden1234", 
      withCompletionBlock: { (user: KCSUser!, errorOrNil: NSError!, result: KCSUserActionResult) -> Void in 
       if errorOrNil == nil { 

     let store = KCSAppdataStore.storeWithOptions([ 
      KCSStoreKeyCollectionName : "userReservation", 
      KCSStoreKeyCollectionTemplateClass : Booking.self 
      ]) 

        store.saveObject(
         reservation, 
         withCompletionBlock: { (objectsOrNil: [AnyObject]!, errorOrNil: NSError!) -> Void in 
          if errorOrNil != nil { 
           //save failed 
           NSLog("Save failed, with error: %@", errorOrNil.localizedFailureReason!) 
          } else { 
           //save was successful 
           NSLog("Successfully saved event (id='%@').", (objectsOrNil[0] as! NSObject).kinveyObjectId()) 
          } 
         }, 
         withProgressBlock: nil 
        ) } else { 

        NSLog("User was not registered: %@", errorOrNil.localizedFailureReason!) 

       } 

       }) 
    } 
} 

}

答えて

0

すべてKinvey要求は、ユーザが存在しない場合、自動ユーザ生成設備が存在し、許可されたユーザを使用して行われなければなりません。

あなたがアクティブなユーザーであることを確認してください。つまり、Kinveyの電話をかける前にログインしてください。私はあなたのコードを試して、それは正常に働いた。次の実装を試してください:

KCSUser.loginWithUsername(
     "kinvey", 
     password: "12345", 
     withCompletionBlock: { (user: KCSUser!, errorOrNil: NSError!, result: KCSUserActionResult) -> Void in 
      if errorOrNil == nil { 

       //the log-in was successful and the user is now the active user and credentials saved 
       // Put your code to save the object here 

      } else { 

       //there was an error with the update save 

      } 
     } 
    ) 

詳細については、http://devcenter.kinvey.com/ios/guides/users#をチェックしてください。

上記の情報が役に立たない場合は、「errorOrNil.localizedFailureReason」に表示されているエラーを教えてください。

+0

あなたの助けをいただき、ありがとうございます。しかし、それはまだバックエンドにデータを送信しません....私はstoreWithUsernameをストアデータ関数の上に追加しました...私はここで何が間違っていますか?私はアクティブなユーザーを作成し、自分のコード内のログインの詳細をその詳細に変更しました。 – Kevin

+0

「errorOrNil.localizedFailureReason」にはどのようなエラーが表示されていますか? –

0

私と一緒にその作業罰金、これを使用しようと

KCSUser.userWithUsername(Username_user.text!, password: Password.text!, fieldsAndValues: [KCSUserAttributeEmail : Email.text!, 
       KCSUserAttributeGivenname : UserName.text! ,KCSUserAttributeSurname : SureName.text!], 
withCompletionBlock: { (user: KCSUser!, errorOrNil: NSError!, result: KCSUserActionResult) -> Void in 

if errorOrNil == nil { 

}else{ 

} 

}) 
関連する問題