2014-10-16 46 views
11

Parse在Yosemite中表現得非常奇怪,saveInBackground聲稱不是PFObject的成員。PFObject在Xcode 6.0.1中沒有名爲'saveInBackground'的成員,Yosemite GM3

var score = PFObject(className: "score") 
    score.setObject("Mo", forKey: "name") 
    score.setObject(1, forKey: "scoreCount") 
    score.saveInBackground() 

顯然這應該工作,也許這是Xcode 6.0.1或Yosemite GM3(或組合)的問題。要明確,使用saveInBackgroundWithBlock工作正常。

有沒有其他人經歷過這個或類似的怪異的錯誤?

回答

28

saveInBackground方法是在頭部聲明返回一個BFTask *對象,它是Bolts框架的一部分。確保您的項目連接了Bolts框架,然後將

#import <Bolts/Bolts.h> 

添加到您的橋接標頭。

這解決了斯威夫特的幾個「失蹤」的API爲我(這一個,還有PFAnalytics.trackAppOpenedWithLaunchOptions這裏提到:Why does my PFAnalytics not have trackAppOpeneWithLaunchOptions function? (IOS SWIFT)

+0

在我的橋接頭我現在有:#import #導入但是我得到的螺栓/螺栓..h文件沒有找到,即使認爲框架是重要的,只是簡潔的解析框架。 – djcj 2015-03-16 18:35:45

0

這項工作

testObject.saveEventually()

1

好,我知道,在分析,框架開拓頭,去PFObject.h並打開它,導航到那裏說:@name Saving Objects並寫下這:

(void)saveInBackground; 

運行應用程序或關閉並重新打開Xcode和嘗試再次寫下代碼和saveInBackground應該是現在你的分數的PFobject

+0

這種定勢。這是個問題。但有誰知道爲什麼這不是在PFObject.h? – 2014-10-20 10:40:01

+0

這是一個危險的答案,它可能會導致未來的問題,請檢查http://stackoverflow.com/a/26520728/2589276 – Esqarrouth 2014-10-25 15:04:38

11

如果你不想用解析框架文件浪費時間,你應該更換:

score.saveInBackground() 

有:

score.saveInBackgroundWithTarget(nil, selector: nil) 
3

無需自發布1.0橋接頭要解決此問題,只需添加,import Bolts在你的類的頂部,下面import Parse

import Parse 
import Bolts 

與添加的import語句,saveInBackground()將正常運行是

相關問題