首页 > 解决方案 > 从 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 部分有什么问题?

标签: objective-cswift

解决方案


可能是您有一个(全局或实例)变量命名conferenceClient,然后干扰该功能。

您需要重命名变量(在 ObjC 中,它有一个下划线_conferenceClient


推荐阅读