2015-03-27 5 views
0

Когда я передаю переменную «userInfo» в параметр «userInfo» функции «postNotificationName (« String », object :, userInfo :)», я получаю это error: Дополнительный аргумент 'userinfo' в вызове & Я действительно не знаю, как это исправить!(Swift) Дополнительный аргумент 'userinfo' в вызове

func session(session: MCSession!, peer peerID: MCPeerID!, didChangeState state: MCSessionState) { 
    var userInfo: Dictionary<String, Any> = ["peerID": peerID, "state": state] 

    dispatch_async(dispatch_get_main_queue(), 
     {() -> Void in 
      NSNotificationCenter.defaultCenter().postNotificationName("MPCDemo_DidChangeStateNotification", object: nil, userInfo: userInfo) 
     }) 
} 

В версии Objective-C этого метода, они используют «@ (...)» для «государственного» значения, но я не знаю, что это значит & как назвать, что в Swift!

NSDictionary *userInfo = @{ @"peerID": peerID, @"state": @(state) }; 

Если кто-то может мне помочь, это было бы здорово! ^^

Заранее спасибо

ответ

0

использовать это:

var userInfo : [NSObject : AnyObject] = ["peerID": peerID, "state": state] 

dispatch_async(dispatch_get_main_queue(), 
{() -> Void in 
    NSNotificationCenter.defaultCenter().postNotificationName("MPCDemo_DidChangeStateNotification", object: nil, userInfo: userInfo) 
}) 
+0

Не работает! Я получаю эту ошибку: ** Тип «MCSessionState» не соответствует протоколу «AnyObject» ** –

+0

Извиняется, я ошибся. Пожалуйста, просмотрите эту тему, которая даст вам некоторую идею. http://stackoverflow.com/questions/24109982/type-mcsessionstate-does-not-conform-to-protocol-anyobject – Abdullah

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