ios-swift,objective-c协议实现

ios-swift,objective-c协议实现,第1张

概述仍然尝试习惯,但由于我的obj-c知识接近0,所以我无法实现这个SocketRocket协议.任何帮助将不胜感激 这是我试图实现的对象代理 @protocol SRWebSocketDelegate <NSObject>// message will either be an NSString if the server is using text// or NSData if the se 仍然尝试习惯,但由于我的obj-c知识接近0,所以我无法实现这个SocketRocket协议.任何帮助将不胜感激

这是我试图实现的对象代理

@protocol SRWebSocketDelegate <NSObject>// message will either be an Nsstring if the server is using text// or NSData if the server is using binary.- (voID)webSocket:(SRWebSocket *)webSocket dIDReceiveMessage:(ID)message;@optional- (voID)webSocketDIDOpen:(SRWebSocket *)webSocket;- (voID)webSocket:(SRWebSocket *)webSocket dIDFailWithError:(NSError *)error;- (voID)webSocket:(SRWebSocket *)webSocket dIDCloseWithCode:(NSInteger)code reason:(Nsstring *)reason wasClean:(BOol)wasClean;@end

我希望这是实施它的正确方法;不是…
我得到’SocketDelegate’不符合协议’SRWebSocketDelegate’

class SocketDelegate:UIVIEwController,SRWebSocketDelegate{    let socket:SRWebSocket! = SRWebSocket()    overrIDe func loadVIEw() {        self.socket.delegate = self    }        func dIDReceiveMessage(message:AnyObject){    }}
解决方法 答案是:
func webSocket(webSocket: SRWebSocket!,dIDReceiveMessage message: AnyObject!)

看到

Functions in Swift Reference Book

Obj-C webSocket中的方法名称:dIDReceiveMessage被转换为第一部分是方法名,其他部分是外部参数名(dIDReceiveMessage).还要注意,ID变成AnyObject和Obj-C引用翻译成!作为隐式解开的可选项(这不再是真的,由于添加到Obj-C声明中的属性,隐式解开的可选项现在很少见).

总结

以上是内存溢出为你收集整理的ios-swift,objective-c协议实现全部内容,希望文章能够帮你解决ios-swift,objective-c协议实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1097412.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存