2015-09-16 1 views
0

Я использую структуру Parse в Swift. У меня есть следующий кодОшибка Parse.com: недопустимый тип для ключа '', ожидаемый массив, но получил строку (Код: 111, Версия: 1.8.3)

var user = PFUser() 
user.username = "username" 
user.password = "password" 
user.addObject("firstname", forKeyedSubscript: "firstName") 
user.addObject("lastName", forKeyedSubscript: "lastName") 
user.addObject("mobileNumber", forKeyedSubscript: "mobile") 
user.addObject("city", forKeyedSubscript: "city") 

user.signUpInBackgroundWithBlock { succeeded, error in 
    if (succeeded) { 
     //The registration was successful 
    } else if let error = error { 
     //Something bad has occurred 
    } 
} 

В веб-портала, он показывает, как это:

enter image description here

Это создает «массива в столбцах с ключами я дал. Я хочу, чтобы они были струнами. Итак, я изменил свой код на следующее. Таким образом, я изменил AddObject к SetObject следующим образом:

var user = PFUser() 
user.username = "username" 
user.password = "password" 
user.setObject("firstname", forKeyedSubscript: "firstName") 
user.setObject("lastName", forKeyedSubscript: "lastName") 
user.setObject("mobileNumber", forKeyedSubscript: "mobile") 
user.setObject("city", forKeyedSubscript: "city") 

user.signUpInBackgroundWithBlock { succeeded, error in 
    if (succeeded) { 
     //The registration was successful 
    } else if let error = error { 
     //Something bad has occurred 
    } 
} 

Он показывает следующую ошибку

[Error]: invalid type for key city, expected array, but got string (Code: 111, Version: 1.8.3) 

Как я могу добавить строки в столбцы с помощью клавиш с помощью Swift код?

ответ

0

Вы должны изменить тип столбца для city, firstName, lastName и mobile к String на parse.com портал. Вам нужно будет удалить эти столбцы и добавить новые столбцы с тем же именем и правильным типом.

+0

Могу ли я сделать это с помощью кода Swift? –

+0

Нет, это должно быть сделано на портале. Вы создали столбцы с неправильным типом данных на parse.com. Вы можете использовать их как массивы: 'user [" city "] = [" New York "]', но я уверен, что это не то, чего вы хотите достичь. Повторно создайте столбцы для разбора с правильным типом, и все будет хорошо. – glyuck

+0

Первоначально я не создал ни одного столбца на веб-портале parse.com. Запустив приведенный выше код, он автоматически создал столбцы с массивами. но я хочу, чтобы он создавал столбцы со String, используя мой код. –

0

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

Основываясь на количестве данных в вашей базе данных Предлагаю вам удалить эти столбцы. Вы должны сделать это, используя панель инструментов «Анализ».

+0

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

+0

Да, вы сделали. Вам не нужно создавать их на веб-сайте. Для создания столбца достаточно сохранить объект с новым свойством. Другое сохранение с другим типом объекта для одного и того же столбца приведет к ошибке, и только возможность изменить тип столбца - удалить его (на веб-сайте) и создать снова (на веб-сайте или в приложении). Вы также можете использовать новые столбцы с новыми именами. Если вы хотите, чтобы данные, которые вы должны выполнять, настраивали перенос данных, вероятно, с помощью работы с облачным кодом. – Tobol