Ошибка при использовании функций синтаксиса вне делегата приложения

Использование Xcode 6 beta 6 для настройки моего приложения с помощью parse.com. Я выполнил приведенные здесь инструкции и получил структуру, импортированную в мое приложение, и добавил мостовой заголовок и т.д. Затем я добавил свои ключи приложения в свой делегат приложения

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
 // Override point for customization after application launch.

 Parse.setApplicationId("app key here", clientKey: "client key here")
 var testObject = PFObject(className: "test")
 testObject["foo"] = "bar"
 testObject.saveInBackground()

 return true
 }

и это сработало нормально. Я проверил, что тестовый объект был создан в браузере данных и думал, что я установлен. затем я начал работать над внедрением входа в мое приложение. в моем первом контроллере представления я создаю текущую пользовательскую переменную, и мое приложение вылетает со следующей ошибкой: Завершение приложения из-за неотображенного исключения "NSInternalInconsistencyException", причина: "Вы должны вызвать setApplicationId: clientKey: в Parse для настройки Parse."

Ну, я сделал это, и он работает в моем делете приложения, но по какой-то причине любой синтаксический анализ вне делегата приложения вызывает этот сбой. Я даже вставил тестовый код еще раз в контроллер своего вида, и он даже не автозаполняет что-либо после первой строки кода, связанного с синтаксическим разбором

class HomeViewController: UITableViewController {

 var testObject = PFObject(className: "test")
 //this line after the first has a "expected expression error" and no parse methods get autocompleted
 testObject["foo"] = "bar"
 testObject.saveInBackground()

У кого еще возникла эта проблема? это проблема с xcode 6?

1 ответ

Во время работы над другим приложением я понял, что сделал, когда у меня возникла эта проблема. Я пытался инициализировать свойство для хранения текущего пользователя, но я делал это за пределами представления, загружался, поэтому его, должно быть, вызывали до того, как вызов делегата приложения сконфигурировал анализ. После инициализации его внутри viewDidLoad вместо объявления свойства он работал нормально.

licensed under cc by-sa 3.0 with attribution.