... withMode:MCSessionSendDataMode,error:inout NSError?)'
我试图通过多重连接发送此时间,以便我可以在所有设备上同时启动一个功能,但是我一直收到上面的错误,这里是一个代码片段,请随时提出问题或是否我的代码需要更深入或缺乏解释。
@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 = ""
}
}
答案 0 :(得分:1)
方法sendData:toPeers:WithMode:error
的第一个参数必须是NSData对象,而不是Int32
答案 1 :(得分:0)
提供给toPeers
参数的对象必须是array of MCPeerID
。您的self.session.connectedPeers
属性是否具有该类型?
修改强>
重新阅读问题后,您需要将msg
转换为NSData
类型的对象。现在它是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)