周末不想在家 2024-02-21 11:09 采纳率: 5.7%
浏览 10

object-c调用swift方法报错



@objc public class MethodChannelDemo :NSObject{
    
    init(messenger: FlutterBinaryMessenger) {
        super.init()
       
    }
    
    @objc public func sendMessageToFlutter(method: String, arguments: Any?){
      
    }
    
    @objc public func sendMessageToFlutter(method: String){
        
    }
}

在object-c类中调用却提示 No visible @interface for 'MethodChannelDemo' declares the selector 'sendMessageToFlutter2:'


[demo sendMessageToFlutter2:@""];

@objc加了、也继承NSObject了,为什么还报错?

  • 写回答

2条回答 默认 最新

  • GISer Liu 2024-02-21 11:11
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    根据您提供的问题描述,您在使用Python的asyncio库时遇到了一个RuntimeError,错误提示是<_overlapped.Overlapped object at ...> still has pending operation at deallocation, the process may crash。这通常是由于在异步操作未完成时,尝试关闭或销毁了某个资源导致的。解决这个问题的方法通常包括以下几个步骤:

    1. 确认异步操作已完成:确保所有的异步操作(如异步I/O操作)都已经正确完成或取消。您可以通过asyncio.Task.all_tasks()来查看当前还在运行的任务,并使用task.cancel()来尝试取消它们。

    2. 正确关闭事件循环:在程序结束之前,确保事件循环被正确关闭。这可以通过调用loop.close()来完成,其中loop是您的asyncio事件循环。

    3. 异常处理:在可能引起异常的代码块周围添加try...except,以便在出现异常时可以做出相应的处理。

    下面是一个代码示例,展示了如何应用上述步骤:

    import asyncio
    
    # ... 您的异步代码 ...
    
    if __name__ == '__main__':
        loop = asyncio.get_event_loop()
        try:
            # 运行您的异步任务
            # loop.run_until_complete(...)
            
            # 以下是您可能需要执行的异步任务列表
            tasks = asyncio.Task.all_tasks()
            for task in tasks:
                task.cancel()
                try:
                    loop.run_until_complete(task)
                except asyncio.CancelledError:
                    pass
        except Exception as e:
            print(f'发生错误: {e}')
        finally:
            loop.close()
    

    在上面的代码中,我们首先获取当前事件循环,然后在try块中运行我们的异步代码。在finally块中,不管是否有异常发生,都确保关闭了事件循环。同时,我们在结束前取消并等待所有剩余的任务。

    如果您在应用上述解决方案后仍然遇到问题,可能需要更深入地了解您代码的上下文以及您尝试执行的操作,从而进行更具体的调试。在这种情况下,建议寻找一些关于Python asyncio使用的高级教程,或者向专业的Python开发者论坛求助以获得更详细的帮助。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

    评论

报告相同问题?

问题事件

  • 创建了问题 2月21日