Swift 扩展“未找到方法定义”

2024-03-23

我正在为 ObjC 类编写 Swift 扩展。虽然我的代码编译并运行完美,我收到一堆 Xcode 警告(每个 Swift 方法一个):

  "Method definition for 'foo_method:' not found"
  "Method definition for 'bar_method:' not found"
  "Method definition for 'baz_method:' not found"

重现 Xcode 消息非常简单。我用四行非样板代码制作了这个演示项目:

Objective-C(NSView 的子类)

// Subclass_of_NSView.h

#import <Cocoa/Cocoa.h

@interface Subclass_of_NSView : NSView

@end


// Subclass_of_NSView.m

@implementation Subclass_of_NSView

- (instancetype)initWithFrame:(NSRect)frame
//______________^ WARNING: Method definition for resizeSubviewsWithOldSize: not found
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code here.
    }
    return self;
}

@end

Swift(扩展 Obj-C 子类)

// Extension_of_Subclass.swift

import Foundation

extension Subclass_of_NSView {

    override func resizeSubviewsWithOldSize( old_bounds_size:NSSize ) {

    }

}

桥接头

// Demo_Project-Bridging-Header.h

#import "Subclass_of_NSView.h"

我猜如果我执行以下任一操作,警告就会消失:

a) 在 ObjC 类的 .m 文件中创建一堆虚拟方法。

b) 在我的 Swift 扩展中,扩展 ObjC 类的超类。

我不喜欢这两种解决方案。

有没有更好的方法让编译器满意?


我不确定这里发生了什么,我认为问题与如何NSView已桥接到 swift 语言。

如果您要重写这些方法,请确保调用super实施,自NSView如果没有它们,可能会崩溃得很厉害。然而我不确定即使这是否安全,你仍然可能会崩溃NSView- 也许发生错误的原因是苹果正在做一些奇怪/非标准的设置。

如果我是你,我只会忍受编译器警告,并通过以下方式向 Apple 报告问题http://bugreport.apple.com。希望它能在 Xcode 6 未来的测试版中得到修复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 扩展“未找到方法定义” 的相关文章

  • Firebase 查询 - 查找包含字符串的子项

    我在使用 Firebase 查询时遇到了一些问题 我想查询对象 其中对象子值包含特定字符串 到目前为止 我有一些看起来像这样的东西 Firebase ref Firebase alloc initWithUrl https dinosaur
  • 使用 AVVideoCompositionCoreAnimationTool 在 CALayer 中将视频与静态图像混合

    我正在尝试将来自相机的视频与静态图像 水印 混合 我已经检查了这里的问题 答案和一些示例 包括来自 Apple 的 WWDC AVEditDemo 并以以下代码结束 不幸的是 导出的视频不包含带有图像的图层 有任何想法吗 void imag
  • 具有 3D 旋转功能的 CAEmitterCell

    我正在尝试使用 CAEmitterLayer 和 CAEmitterCell 重现从顶部落下的小纸片效果 到目前为止 我得到了它的 2D 动画 但是我很难让每个单元格在掉落时旋转 如何对每个粒子应用随机旋转 我尝试过 3D Transfor
  • 使用 in 子句按数组顺序对 NSPredicate 进行排序

    我有一个NSPredicate会在一个内搜索 idNSArray的 ID 就像是 id in array 有没有办法获得按相同数组顺序排序的提取结果集 我现在的代码是 NSArray findIn NSArray identifiers i
  • initWithFrame 与 initWithStyle

    我想从已弃用的 TableView 中更新initWithFrame reuseIdentifier 我的表格视图使用自定义单元格 到处都说要使用initWithStyle 并且它不会以任何方式改变行为或细胞initWithFrame CG
  • Objective-c:如何检测视图上的双击?

    我正在开发一个应用程序 其中视图上有多个控件 但我想在用户双击视图时启用它们 您可以以双击为例 但在设备中我想在双击时捕获事件 您需要添加一个UITapGestureRecognizer到您想要点击的视图 像这样 void viewDidL
  • “UITableViewCell 附件复选标记”是图像吗?

    我需要定义一个自定义UITableViewCell哪里的UITableViewCellAccessoryCheckmark位于 a 的左侧UILabel 我应该将其定义为图像还是有更聪明的方法 非常感谢 卡洛斯 这只是一个关于苹果文档 ht
  • 为什么我的 PFAnalytics 没有 trackAppOpeneWithLaunchOptions 函数? (IOS 银行卡)

    错误信息 PFAnalytics Type does not have a member named trackAppOpenedWithLaunchOptions 所有其他类似的功能都可以工作 例如trackAppOpenedWithLa
  • 如何在 Swift 中的标签上制作阴影效果?

    我不知道如何在标签上编写阴影代码 我有一个会改变的乐谱标签 因此无法仅对带有阴影的文本进行Photoshop处理 我需要对其进行编码 以便它始终自动在文本后面有一个模糊的阴影 有人可以举一些例子或提供帮助吗 人们说这是重复的 重复 是关于
  • 在 Objective-C 中使用 perl?

    CPAN 有大量非常有用的库 除了将它们移植到 Objective C 之外 是否还有在 iOS 上将 Perl 代码嵌入到 Objective C 中的方法 我对使用特别感兴趣电子表格 阅读 http kobesearch cpan or
  • 网络扩展 - NEVPNManager

    苹果在 iOS 8 中发布了一个新的框架 NetworkExtension 我想使用 NEVPNManager 从应用程序启动 VPN 连接 或者此框架还有其他用途吗 有人有关于这个框架的信息或例子吗 我在developer apple c
  • 一个 AVPlayerItem 一次只能在玩家队列中占据一个位置?

    我见过许多问题 https stackoverflow com questions 6605771 an avplayeritem can occupy only one position in a players queue at a t
  • NSAttributedString - 获取字体属性

    我需要获取有关我的属性字符串的信息 但不知道如何获取 我得到这本词典 2013 11 04 18 06 10 628 App 1895 60b NSColor UIDeviceWhiteColorSpace 0 3 1 NSFont
  • Swift 中的“is”关键字

    据我所知 似乎共识是is在 Swift 关键字中是同义词isKindOfClass method 但是 我在执行以下操作时遇到困难 inside of a method in UITabViewController check if the
  • 关闭模态视图控制器时如何保持呈现视图控制器的方向?

    我正在开发这个应用程序 我需要所有视图控制器 但只有一个是纵向的 单一视图控制器很特别 我需要它能够旋转到手机所在的任何方向 为此 我以模态方式呈现它 未嵌入导航控制器中 所以 例如 我的结构是这样的 window Portrait roo
  • Spotify:使用网络 API 登录不接受重定向 URL

    我正在尝试使用 Web API 登录 Spotify 因为我不需要会话对象 在我的授权方法中 我需要传入重定向 url 但 GET 请求中不接受 iOS 重定向 url 的格式化方式 func authorize create the ur
  • 设备锁定时播放 iPod 库中的音频

    只是一个简单的问题 我已经将我的程序设置为能够播放AVAudioPlayer and AVPlayer在后台 运行良好 我可以播放歌曲 锁定屏幕 声音将继续播放 我遇到的问题是打电话 AVPlayer play 虽然我的屏幕已经锁定 这最终
  • 在 iOS Swift 中将 NSDate 转换为字符串 [重复]

    这个问题在这里已经有答案了 我正在尝试转换NSDate to a String然后更改格式 但当我经过NSDate to String它正在产生空白 let formatter DateFormatter let myString Stri
  • SwiftUI - NavigationSplitView 内的 NavigationStack 内的嵌套链接不起作用

    我正在尝试 ipadOS16 macOS13 中提供的新导航 API 但在弄清楚如何在 macOS 13 上将 NavigationSplitView NavigationStack 和 NavigationLink 组合在一起时遇到了一些
  • 三元运算符结合性

    我无法理解三元运算符上下文中的结合性概念 在大多数情况下 三元运算符如下所示 a b c 在这种情况下 不需要结合性来计算表达式 但有时 三元运算符是嵌套的 a b c d e a b c d e is right associative

随机推荐

  • 如何从 JavaScript 中的字符串中去除 HTML 标签? [复制]

    这个问题在这里已经有答案了 如何在 JavaScript 中从字符串中去除 HTML cleanText strInputCode replace lt gt gt g 蒸馏自这个网站 web archive https web archi
  • 在一个查询中搜索多个表 (MySQL/PHP#)

    我有大约 15 个表 每个表包含大约 10 000 行和大约 30 列 我希望我的网站的用户能够搜索零件编号或产品 说明并显示结果 不管它在哪张桌子上 每个产品页面与每个对应表的名称相同 因此 如果找到产品 它只会显示正确页面的链接 文件名
  • 如果没有 google-services.json,Google 服务插件将无法运行 [重复]

    这个问题在这里已经有答案了 文件 google services json 丢失 Google 服务插件无法运行 自从我删除了我的内容后 我收到此错误代码google services json我的项目中的文件 现在解决这个问题的明显方法是
  • Spark CDH 5.7 上的 Hive - 无法创建 Spark 客户端

    我们在使用 Spark 引擎执行 Hive 查询时收到错误 执行spark任务失败 出现异常 org apache hadoop hive ql metadata HiveException 创建失败 Spark 客户端 失败 执行错误 返
  • 指定网格中的行数和列数

    有没有办法指定网格中的行数和列数 我的代码给了我 3 列和 4 行 我想要 4 列和 3 行 有没有办法用 CSS 和 HTML 来实现这一点 我也愿意使用 Bootstrap 尝试正确编辑下面的代码 grid container disp
  • 如何在terraform创建后显示ec2实例的公共IP

    我想在 terraform 执行后显示 terraform 创建的 aws instance 的 public ip 但是 仅显示第一台服务器的全局 IP 我的源代码如下 resource aws instance main count 3
  • 合并两个按月计数的查询

    灵感来自这个问题在Meta上 https meta stackexchange com questions 57692 have the new bounty changes caused more bounties to appear 我
  • MVC3全球化:模型绑定之前需要全局过滤器

    目前 我有一个名为的全局过滤器GlobalizationFilter检查路由值 cookie 和浏览器语言标头以确定请求的正确区域性设置 public override void OnActionExecuting ActionExecut
  • Ruby on Rails 中通过 sprocket 进行源映射

    我想在我正在开发的 Rails 3 2 应用程序上添加源映射支持 据我所知 Sprockets 不支持生成源地图 从其 github 页面来看 该功能似乎计划在 4 0 中使用 我正在使用 Sprockets 2 2 我认为猴子修补是唯一的
  • 将整数与MagicMock进行比较在python的unittest中不起作用

    我有一个类 它使用类变量来选择要执行的逻辑 in file1 class SomeHelper def init self self my var 0 in file2 import file1 class MyClass def calc
  • Highcharts 工具提示中未触发点击事件

    我正在使用 Highchart 库 我通过格式化程序函数回调创建一个工具提示 并在工具提示内插入一个链接 config tooltip formatter function console log this var tooltipHTML
  • 自动装配依赖项注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:

    我是新来的 我正在尝试使用 Spring 创建一个电子商店 但我在连接数据库时遇到问题 我搜索了一下 发现其他用户也问了同样的问题 但我找不到问题所在 我缺乏想法 这里出了什么问题 堆栈跟踪 org springframework bean
  • OpenGL + Mesa 3D + MinGW

    我在 Ubuntu Linux 上编写 C 应用程序并将它们编译到 2 个操作系统 本机到Linux通过使用 g GNU C 编译器 并将它们交叉编译为Windows通过使用 i386 mingw32 g MinGW C 交叉编译器 现在
  • WIX 服务安装程序会覆盖服务安装程序设置

    我正在开发一项稍后由 WIX 安装程序部署的服务 这是服务安装程序类 this ServiceInstaller DisplayName My Service this ServiceInstaller ServiceName MyServ
  • GridView 取一行

    NET 4 和 C 我有一个 GridView 我想在代码中处于编辑模式时取一行并找到一个控件 这是我的代码 但不起作用 它只需要 GridView 的第一行 有任何想法吗 protected void uxManageSlotsDispl
  • 如何在按下 ALT 键时使 WPF 菜单栏可见?

    今天 我的 WPF 用户界面受到了一些新的限制 这些限制应该会消除菜单栏的永久可见性 我想到模仿 Windows Live Messenger 的用户界面 仅当按下 ALT 键时 该应用程序才会显示菜单栏 当菜单栏上的焦点丢失时 它会再次隐
  • Tensorflow 对象检测 API - 超参数调整和网格搜索

    我目前正在使用 Tensorflow 对象检测 API 并且想要微调预训练的模型 因此 需要进行超参数调整 API 是否已经提供某种超参数调整 如网格搜索 如果没有可用的东西 我如何实现简单的网格搜索来调整 最相关的 超参数 此外 API
  • 强制下载 tar 存档的标头

    我的服务器上有一个 tar 存档 必须可以通过 php 下载 这是我使用过的代码 content file get contents tar header Content Type application force download he
  • 如何在JS中引用当前对象的属性[重复]

    这个问题在这里已经有答案了 可能的重复 对象文字声明中的自引用 https stackoverflow com questions 4616202 self references in object literal declarations
  • Swift 扩展“未找到方法定义”

    我正在为 ObjC 类编写 Swift 扩展 虽然我的代码编译并运行完美 我收到一堆 Xcode 警告 每个 Swift 方法一个 Method definition for foo method not found Method defi