###前提・実現したいこと
swiftで日記アプリを作っています。
xcodeのバージョンは7.3.1、swiftは2.2です。
###発生している問題・エラーメッセージ
xcodeでコードを書き始めると、作業にならないほど頻繁にSourceKitServiceがクラッシュしてしまいます。
いろいろと試す中で、mBaaSのニフティクラウドモバイルバックエンドのデータ取得のメソッド
query.findObjectsInBackgroundWithBlock({ (objects, error) in
をコメントアウトするとクラッシュしなくなることがわかりました。
問題の箇所はわかったのですが、どのように修正すれば良いのかがわかりません。何かお分かりになられましたら教えてください。よろしくお願いします。
問題と思われるコードの全体は以下です。
###該当のソースコード
let query = NCMBQuery(className:"user") query.whereKey("userName", equalTo: user[0].uuid) //soucekitのクラッシュの原因はここ!!ここが原因なのは確かなので、さらに詳しくチェックしていく!! query.findObjectsInBackgroundWithBlock({(objects, error) in if error == nil{ objects[0].setObject(self.userNameTextField.text, forKey: "ownerName") objects[0].setObject(self.userSelectWork, forKey: "works") objects[0].setObject(self.userSelectWorksYear, forKey: "worksYear") objects[0].setObject(self.myGoalTextView.text, forKey: "myGoal") if self.pickedPhoto != nil{ objects[0].setObject(self.targetFile?.name, forKey: "userPhotoName") } objects[0].save(&saveError) let realm = try!Realm() let user = User() user.id = 1 user.userName = self.userNameTextField.text user.works = self.userSelectWork user.worksYear = self.userSelectWorksYear! user.myGoal = self.myGoalTextView.text try!realm.write({ }) print("ひ") let fileName = NSUUID().UUIDString + ".jpg" let filePath = (self.path! as NSString).stringByAppendingPathComponent(fileName) if self.photo?.writeToFile(filePath, atomically: true) == false{ self.errorMessage() }else{ print("写真をファイルに保存成功") } //写真があるならば if self.targetFile != nil{ //更新するデータの写真と比べて、同じものではないならば if self.targetFile?.name != objects[0]["userPhotoName"] as! String{ self.targetFile?.saveInBackgroundWithBlock({ (error:NSError!) in if error == nil{ self.navigationController?.popToRootViewControllerAnimated(true) }else{ self.errorMessage() } }, progressBlock: { (percentDone) in }) } }else{ //写真がないなら self.navigationController?.popToRootViewControllerAnimated(true) } }else{ //エラー処理 self.errorMessage() } }) }
###補足情報(言語/FW/ツール等のバージョンなど)
先日、同じ問題に関する質問をさせていただき未解決なのですが、調べていくうちにさらに質問したい事柄が出てきたので新しく投稿させていただきました。
https://teratail.com/questions/34121
また、他のサイトでも質問させていただいていますが解決することができていない状況なので質問させていただきます。
http://ja.stackoverflow.com/questions/24608/ncmb%E3%81%AEfindobjectsinbackgroundwithblock%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8sourcekitservice%E3%81%8C%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/07 00:32