不能援引 '送出数据' 与参数列表类型 '(的Int32,toPeers:[AnyObject]!

问题描述:

... withMode:MCSessionSendDataMode,错误:INOUT NSError?)'不能援引 '送出数据' 与参数列表类型 '(的Int32,toPeers:[AnyObject]!

我试图到了这个时候送过来multipeer连接,以便我可以在所有设备上同时启动一个功能,但是我不断收到上面的错误,这是一个代码片段,请随时提问,或者我的代码需要更深入或缺乏说明。

@IBAction func pickS(sender: AnyObject) { 


    self.presentPicker(sender) 


    func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     var DestView: playMusicViewController = segue.destinationViewController as! playMusicViewController 
     DestView.selectedSong = MPMediaItemCollection() 

     let formatter = NSDateFormatter() 

     //formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0) // you can set GMT time 
     formatter.timeZone = NSTimeZone.localTimeZone() // or as local time 
     formatter.dateFormat = "HH:mm:ss:SSS" 



     formatter.dateFormat = "HHmmssSSS" 
     var Time = formatter.stringFromDate(NSDate()) 
     var startTime = (Time as NSString).intValue + 100 
     println(startTime) 
     let msg = startTime 

     var error : NSError? 

     self.session.sendData(msg, toPeers: self.session.connectedPeers, withMode: MCSessionSendDataMode.Unreliable, error: &error) 

     if error != nil { 
      print("Error sending data: \(error?.localizedDescription)") 
     } 

     // self.updateChat(self.messageField.text, fromPeer: self.peerID) 

     //self.startTime.text = "" 

    } 


} 

供给到toPeers参数必须具有为array of MCPeerID的对象。你的self.session.connectedPeers属性是否有这种类型?

编辑:

问题的重新解读后,您需要将您的msgNSData类型的对象。现在是Int。我不知道你想送什么,但让如果你想发送的当前日期&时说:

let now = NSDate() 
let nowData = NSKeyedArchiver.archivedDataWithRootObject(now) 
var error : NSError? 

self.session.sendData(nowData, toPeers: self.session.connectedPeers, withMode: MCSessionSendDataMode.Unreliable, error: &error) 
+0

我很抱歉,您能否详细说明一下?作为我在代码中包含connectedPeers的唯一时间在这个函数中 – Matt

+0

@Matt你的'connectedPeers'初始化过程如何?它必须设置为使用前 –

+0

我很确定connectedPeers默认情况下默认情况下没有被初始化multipeer连接,我用这个http://radar.oreilly.com/2014/09/multipeer-connectivity-on-ios-8 -with-swift.html作为帮助,它似乎在没有被初始化的情况下工作 – Matt

方法的第一个参数sendData:toPeers:WithMode:error必须是一个NSData对象,而不是一个Int32