2015-05-01 3 views
2

I подкласс PFObject точно так же, как described here.Parse SDK и Swift: неправильная метка аргумента в вызове PFObject 'withoutDataWithObjectId'

Затем я создаю новый экземпляр наследнике объекта без данных, но так как Swift 1.2 Я получаю ошибку (Это было прекрасно работать раньше):

var test = Armor(withoutDataWithObjectId: "1234567890") 

-> Xcode жалуется:

"Неверный ярлык аргумент в вызове (есть 'withoutDataWithObjectId:', ожидается: 'имя класса:')"

Почему имя класса? Он должен получить имя класса из функции класса parseClassName

И я ни при каких обстоятельствах создать новый объект с ObjectId, но никакие данные (которые я должен иметь, чтобы извлечь его из локального хранилища данных)

Это супер раздражает, поскольку мое приложение больше не компилируется.

+0

Какое определение класса брони? Вы только что обновили быструю версию? Какую версию Parse SDK вы используете? – Wain

+0

v 1.7.2 Parse SDK Определение точно так же, как https://www.parse.com/docs/ios_guide#subclasses-defining/iOS – Christof

ответ

-1

Возможно, немного поздно ответить на этот вопрос.

Я использую swift 1.2 и v 1.7.5 Parse SDK, и он отлично работает.

Однако убедитесь, что вы определили заголовок объектива-c в «настройке сборки».

и попытаться запустить его, хотя может отчеты некоторые ошибки

+0

Это не имеет ничего общего с настройками сборки. И я думаю, что попытка запуска кода с ошибками без дальнейшего их анализа не является хорошей практикой. – Manuel

0

Обновление до последней Разбор SDK, доступный here.

Эта проблема вызвана необходимыми настройками в Parse SDK после обновления языка Swift. Эта проблема также возникает с последним обновлением Swift 2.2. Самый новый (на сегодняшний день) Parse SDK release 1.13.0 уже исправляет это.

UPDATE

Анализировать IOS SDK 1.13.0 имеет опечатка и функция PFUser(withoutDataWithObjectId:) называется PFUser(outDataWithObjectId:). Поэтому обновление Parse SDK само по себе разрешает это. Пока это не будет исправлено, временным решением будет расширение PFObject с помощью инициализатора удобства. Для этого добавьте новый новый файл Swift в ваш проект и вставьте его:

import Parse 

extension PFObject { 
    convenience init(withoutDataWithObjectId objectId: String?) { 
     self.init(outDataWithObjectId: objectId) 
    } 
}