这是 Objective-C Protocol 里面的出问题的函数
-(void)didReceiveData:(NSData*)data Device:(DFBlunoDevice*)dev;
用 Swift 实现的时候, Xcode 会自动将参数转为小写
func didReceiveData(data: NSData!, device dev: DFBlunoDevice!) { }
然后 Xcode 就会报错, 提示我 class 不 conform 那个 Protocol 。如果强行将 swift 函数的 device
写成 Device
, Xcode 依旧是报错,要求我改成小写。
最后我的解决方案是直接将 Objective-C 的函数改写成这样
-(void)didReceiveData:(NSData*)data mDevice:(DFBlunoDevice*)dev;
问题来了:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.