从 Objective-C 转换为 Swift 的代码中的重新声明无效
Invalid redeclaration in code converting from Objective-C to Swift
我正在尝试将代码从 Objective-C 转换为 Swift -
Objc-C 部分 - 没有错误。
AppDelegate:
- (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{
}
到Swift
AppDelegate:
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
)
我正在尝试将代码从 Objective-C 转换为 Swift -
Objc-C 部分 - 没有错误。
AppDelegate:
- (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{
}
到Swift
AppDelegate:
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
)