Недавно я обновился до Xcode 6.3 с Swift 1.2 и получил более 300 ошибок, большинство из которых связано с добавлением восклицательного знака. Тем не менее, один из типов проблем, которые не исчезнут, - это ошибка, которую «__» не конвертируется в «StringLiteralConvertable». Это несколько раз появляется в следующих ситуациях:Swift 1.2 StringLiteralConvertable error
PFCloud.callFunctionInBackground("modifyUser", withParameters: ["objectId":user.objectId, "key":"won", "value":won as AnyObject],block:nil)
PFCloud.callFunctionInBackground("modifyUser", withParameters: ["objectId":friend.objectId, "key":"parties", "value":played], block:nil)
PFCloud.callFunctionInBackground("modifyUser", withParameters: ["objectId":creator.objectId, "key":"left", "value" :left], block: {
(error) in
self.remainingPotatos = PFUser.currentUser()["left"] as! Int
})
ошибка, как представляется, на струнах, которые являются ключами словаря, однако, они по определению StringLiteralConvertable. Что дает?
UPDATE
Это, как представляется, еще один случай Xcode обнаружения ошибки, но не говорит, какой из них. После добавления '!' после «objectId» ошибка переключается на тип данных аргументов. Сообщение об ошибке:
Cannot invoke 'callFunctionInBackground' with an argument list of type '(String, withParameters:NSDictionary, block(_)->(_)'
Какая часть является проблемой? (Кроме того, изменение ошибку «ошибка:? NSError». Дает аналогичный результат
UPDATE
Глядя на документацию Разбор, блок подписи должен быть
^(id result, NSError *error)
Я попытался изменить блок
{
(result, error) in
//code
}
Но все-таки получить ту же ошибку,
Извините, что это был результат того, что я пытался исправить ошибку. – milesper