2015-04-09 9 views
0

Недавно я обновился до 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 
} 

Но все-таки получить ту же ошибку,

ответ

0

Это была проблема с обнаружением ошибки Xcode в неправильном месте. Добавление '!' после того, как «currentUser()» исправил проблему, а строки с nil-блоками потеряли свои ошибки с чистым.

0

Possi Блай не единственная проблема, но, кажется, есть ключ в одном из ваших словарей "value"!, не действует в 1.2 (и был бы составлен, но не сделал много смысла, в 1.1)

import Foundation 
let left = "blah" as NSString 
let dict = ["value"!:left] 

результаты in error: '_' is not convertible to StringLiteralConvertible

+0

Извините, что это был результат того, что я пытался исправить ошибку. – milesper

Смежные вопросы