PFObject не имеет члена с именем "saveInBackground" в Xcode 6.0.1, Yosemite GM3
Парень действует очень странно в Yosemite, saveInBackground утверждает, что он не является членом PFObject.
var score = PFObject(className: "score")
score.setObject("Mo", forKey: "name")
score.setObject(1, forKey: "scoreCount")
score.saveInBackground()
Очевидно, что это должно сработать, возможно, это проблема с Xcode 6.0.1 или Yosemite GM3 (или комбинацией). Чтобы быть ясным, использование saveInBackgroundWithBlock отлично работает.
Кто-нибудь еще испытал эту или подобную странную ошибку?
Ответы
Ответ 1
Метод saveInBackground
объявляется в заголовке для возврата объекта BFTask *
, который является частью рамки Bolts. Убедитесь, что ваш проект связывает структуру Bolts, а затем добавьте
#import <Bolts/Bolts.h>
к вашему заголовку мостов.
Это позволило решить несколько "отсутствующих" API в Swift для меня (этот, а также PFAnalytics.trackAppOpenedWithLaunchOptions
, упомянутый здесь: Почему у моих PFAnalytics нет функции trackAppOpeneWithLaunchOptions? (IOS SWIFT )
Ответ 2
Если вы не хотите вмешиваться в файлы фреймворка Parse, вы должны заменить:
score.saveInBackground()
с:
score.saveInBackgroundWithTarget(nil, selector: nil)
Ответ 3
Не нужно связывать заголовки с момента выпуска 1.0. Чтобы устранить проблему, просто добавьте import Bolts
вверху своего класса ниже import Parse
:
import Parse
import Bolts
С добавленным оператором импорта saveInBackground()
должен работать как есть.
Ответ 4
ok, получив его, в синтаксическом анализе, откройте открытые заголовки, перейдите к PFObject.h
и откройте его, перейдите туда, где он говорит @name Saving Objects
, и запишите это:
(void)saveInBackground;
запустите приложение или закройте и снова откройте Xcode и попробуйте снова записать код, а saveInBackground
должен быть теперь PFobject
вашего счета.
Ответ 5
эта работа
testObject.saveEventually()