objective-c - 从 Objective-C 到 Swift 的代码转换中的无效重新声明
问题描述
我正在尝试将代码从 Objective-C 转换为 Swift -
Objc-C 部分 - 没有错误。
应用委托:
- (OWTConferenceClient*)conferenceClient{
return _conferenceClient;
}
-(void)conferenceClient:(OWTConferenceClient *)client didReceiveMessage:(NSString *)message from:(NSString *)senderId{
}
- (void)conferenceClient:(OWTConferenceClient *)client didAddParticipant:(OWTConferenceParticipant *)user{
}
-(void)conferenceClient:(OWTConferenceClient *)client didAddStream:(OWTRemoteStream *)stream{
}
到斯威夫特
应用委托:
func conferenceClient() -> OWTConferenceClient { <--- Error here: Invalid redeclaration of 'conferenceClient()'
return conferenceClient
}
func conferenceClient(_ client:OWTConferenceClient, didAdd stream:OWTRemoteStream){
}
func conferenceClient(_ client:OWTConferenceClient, didAdd user:OWTConferenceParticipant) {
}
func conferenceClient(_ client:OWTConferenceClient, didReceiveMessage message:String, from senderId:String) {
}
Swift 部分有什么问题?
解决方案
可能是您有一个(全局或实例)变量命名conferenceClient
,然后干扰该功能。
您需要重命名变量(在 ObjC 中,它有一个下划线_conferenceClient
)
推荐阅读
- javascript - “未知”类型的参数不能分配给“字符串”类型的参数。TS2345
- twitter-bootstrap - 将 Bootstrap 5 工具提示添加到 Vue 3
- azure - 在 Terraform 中按顺序创建资源组
- wordpress - 如何将 woocommerce 的“产品库”功能实现为自定义帖子类型
- javascript - 隐藏预设状态时下拉菜单砌体(JS)不起作用
- php - 如何使用 phpMailer 库将下载的 excel 文件发送到邮件?
- git - “git push”和“git commit”有什么区别-GitBash
- javascript - × FirebaseError:collection() 的第一个参数应该是 CollectionReference、DocumentReference 或 FirebaseFirestore
- java - Google App Engine Spring Boot 出现 404 错误
- python - Python 模式匹配 'r' 前缀