![](/img/trans.png)
[英]MFMailComposeViewControllerDelegate not conform to protocol NSObjectProtocol
[英]MCSessionDelegate Requires Class to Conform to NSObjectProtocol
我試圖使用Apple的MultipeerConnectivity庫,但我的班級不會停止拋出錯誤“ Type LocalClient不符合NSObjectProtocol”。 我是否遺漏了會導致此錯誤的任何內容?
import Foundation
import MultipeerConnectivity
class LocalClient : MCSessionDelegate {
var availableServers : [Int]
var session : MCSession
var peerID : MCPeerID
var browser : MCBrowserViewController
init(name : String) {
peerID = MCPeerID(displayName: name)
session = MCSession(peer: peerID)
session.delegate = self
browser = MCBrowserViewController(serviceType: "JoinGame", session: session)
}
func session(session: MCSession!, peer peerID: MCPeerID!, didChangeState state: MCSessionState) {
}
func session(session: MCSession!, didReceiveData data: NSData!, fromPeer peerID: MCPeerID!) {
}
func session(session: MCSession!, didStartReceivingResourceWithName resourceName: String!, fromPeer peerID: MCPeerID!, withProgress progress: NSProgress!) {
}
func session(session: MCSession!, didFinishReceivingResourceWithName resourceName: String!, fromPeer peerID: MCPeerID!, atURL localURL: NSURL!, withError error: NSError!) {
}
func session(session: MCSession!, didReceiveStream stream: NSInputStream!, withName streamName: String!, fromPeer peerID: MCPeerID!) {
}
}
編輯:格式化。
MCSessionDelegate
協議是從NSObjectProtocol
派生的。 因此,您的類應該是NSObject
的子類,以便它繼承所有NSObjectProtocol
方法:
class LocalClient : NSObject, MCSessionDelegate { }
這還要求您調用super.init()
(在將值分配給所有屬性之后):
init(name : String) {
peerID = MCPeerID(displayName: name)
session = MCSession(peer: peerID)
availableServers = []
browser = MCBrowserViewController(serviceType: "JoinGame", session: session)
super.init()
session.delegate = self
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.