这个错误是因为在Objective-C文件中找不到声明为'didDoSomething:'的方法。要解决这个问题,你需要确保在Objective-C的头文件中声明了'didDoSomething:'方法,并在实现文件中实现该方法。

首先,在Objective-C的头文件中声明'didDoSomething:'方法,并指定它的委托协议。例如:

@protocol MyDelegate <NSObject>

- (void)didDoSomething;

@end

@interface MyClass : NSObject

@property (nonatomic, weak) id<MyDelegate> delegate;

- (void)performAction;

@end

然后,在Objective-C的实现文件中实现'didDoSomething:'方法:

@implementation MyClass

- (void)performAction {
    // 做一些操作...
    if ([self.delegate respondsToSelector:@selector(didDoSomething)]) {
        [self.delegate didDoSomething];
    }
}

@end

现在,在Swift文件中调用'didDoSomething:'方法时,就不会再报错了:

class MyDelegateImpl: NSObject, MyDelegate {
    func didDoSomething() {
        // 处理'didDoSomething'方法的实现
    }
}

let myClass = MyClass()
let myDelegate = MyDelegateImpl()
myClass.delegate = myDelegate
myClass.performAction()

这样,你就能在Swift文件中成功调用'didDoSomething'方法了

中文回答 swift文件中的didDoSomething接口需要在oc文件中调用报错No visible interface for MyDelegate declares the selector didDoSomething 如何解决

原文地址: https://www.cveoy.top/t/topic/hKAw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录