initWithFrame 未调用,但 awakeFromNib 已调用

2024-01-11

我正在尝试对 NSOutlineView 进行子类化。这是我的代码:

OutlineViewSublcas.h:

#import <Cocoa/Cocoa.h>

@interface OutlineViewSubclass : NSOutlineView {

}

@end

OutlineViewSubclass.m:

#import "OutlineViewSubclass.h"

@implementation OutlineViewSubclass

- (id)initWithFrame:(NSRect)frame
{
    self = [super initWithFrame:frame];
    printf("debug A\n");
    return self;
}

- (void)awakeFromNib
{
    printf("debug B\n");
}

@end

调试输出为:

debug B

为什么不是(id)initWithFrame:(NSRect)frame被召唤?


Cocoa 控件实现 NSCoding 协议以从笔尖取消归档。 initWithCoder: 方法不是使用 initWithFrame: 初始化对象,然后设置属性,而是在使用 Interface Builder 配置的序列化属性加载控件时负责设置控件。这与使用 NSCoding 序列化任何对象的方式几乎相同。

如果您将自定义 NSView 子类粘贴在未实现 NSCoding 的笔尖中,情况会有点不同,在这种情况下 initWithFrame: 将被调用。在这两种情况下, awakeFromNib 都会在对象加载后被调用,并且通常是在子类中执行额外初始化的好地方。

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

initWithFrame 未调用,但 awakeFromNib 已调用 的相关文章

  • 以编程方式设置 Mac 鼠标/触控板速度

    我正在尝试更改我正在开发的应用程序的鼠标跟踪速度 注意 不是加速 我到处寻找一种方法来做到这一点 但找不到任何东西 我怀疑这与我在 IOKit hidsystem 框架上的这个函数中给出的值有关 IOHIDSetAccelerationWi
  • 如何让程序在登录时自动启动?

    如何设置菜单栏应用程序在登录时自动启动 我希望这是默认的 我可以简单地通过在 info plist 中添加一个 bool 来做到这一点吗 此解决方案仅适用于非沙盒应用程序 LSSharedFile此解决方案中使用的功能仅适用于非沙盒应用程序
  • 用xCode制作图表[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 您好 我需要绘制一些数组来分析信号 我有一个可可项目正在进行 谁能告诉我在哪里可以找到简化这项任务的工具 基本上我想像在图形计算器上一样显
  • 如何使用 Cocoa Autolayout 根据优先级调整两个子视图的大小?

    我正在 Cocoa 中使用自动布局 有些事情对我来说并不清楚 我在一个窗口上有 2 个视图 每个视图的宽度是父窗口宽度的1 2 View1 View2 如果我调整窗口大小 我希望首先调整 View2 的大小 View1 View2 当 Vi
  • 如何获取当前音频输出设备的当前音量?

    我正在寻找一种方法来利用 Mac 上的当前音频输出 然后返回代表当前声级的值 我所说的声级是指输出产生的噪音量 我是NOT询问如何获取输出设备的当前音量级别 下面的代码是从苹果的样品AVRecorder http developer app
  • 在核心数据中伪造动态模式?

    通过阅读有关 Core Data 的 Apple 文档 我了解到当您需要动态模式时不应该使用 Core Data 如果我想为用户提供创建自己的属性的能力 那么在核心数据模型中 如果我创建一些 虚拟 属性 例如 自定义十进制 1 自定义十进制
  • 如何使虚线可移动

    我用下面的代码画了一条虚线 get the current CGContextRef for the view CGContextRef currentContext CGContextRef NSGraphicsContext curre
  • 将 NSTabViewItem 的副本从 NSTabView 添加到同一个 NSTabView

    我正在创建一个简单的网络浏览器 并希望实现选项卡 为此 我使用NSTabView 我基本上希望每个选项卡都有一个WebView这将显示网站已加载 我从只有一个选项卡开始 并希望在创建新选项卡时添加第一个选项卡的精确副本 我尝试过类似的东西t
  • NSData initWithBytesNoCopy:length:freeWhenDone 的行为:

    我想要一个固定长度的可变内容共享数据缓冲区 这就是我如何创建它 void buffer malloc length initialize buffer content NSData sharedData NSData alloc initW
  • 将 NSWindow 的内容变灰

    我有一个NSWindow with 2 NSViews an NSSplitView和一个习惯NSView 访问数据以填充这些视图可能需要一些时间 在此期间 我想将这些视图的内容灰显 我的第一个方法是有一个黑色的第三个NSView覆盖另外2
  • NSTokenField:标记的不同颜色

    我在我的 xib 中创建了一个 NSTokenField 我想在 tokenField 中显示不同颜色的令牌 含义 一些标记将是蓝色的 其余的将是红色的 根据其内容 那可能吗 以下代码对我不起作用 我希望有人能帮助我 id tokenFie
  • 在 Cocoa OS X AVPlayer 中播放 HLS (m3u8) - Swift

    基本上我正在尝试在 Cocoa Swift 中使用 AVPlayer 播放 m3u8 HLS Live Stream 我对这门语言比较陌生 所以基本上掌握了一些示例代码 http qiita com ono matope items 23d
  • 如何在 NSTextView 中使用 SPACE 而不是 TAB

    我只知道如何修改 NSTextView 中的制表符宽度 NSMutableParagraphStyle paragraphStyle self defaultParagraphStyle mutableCopy paragraphStyle
  • Cocoa - 捕获 NSStatusItem 鼠标悬停事件

    当用户的鼠标悬停在我的 NSStatusItem 上时 如何执行函数 如果您分配自定义NSView给你的NSStatusItem s view属性 您可以覆盖NSResponder方法mouseEntered mouseMoved and
  • 从 NSImage 获取像素和颜色

    我创建了一个 NSImage 对象 理想情况下想确定它包含多少个像素颜色 这可能吗 此代码呈现NSImage into a CGBitmapContext void updateImageData if image return Dimen
  • 核心数据 iCloud 同步中的关系完整性和验证

    考虑以下简单的实体模型 实体 A 与实体 B 具有一对一关系 称为b 实体 B 具有逆对一关系 称为a 这两种关系都不是可选的 A B b lt gt a 假设我们有两个设备 1 和 2 开始完全同步 每个对象都有一个 A 类对象和一个 B
  • NSSavePanel:压制“确认替换?”对话

    在导航服务领域 人们可以指定kNavDontConfirmReplacement作为创建一个选项NavDialogRef当使用已存在的文件名保存时 不会要求用户确认文件的替换 如何指定与 Cocoa 等效的行为NSSavePanel 具体方
  • 核心数据:尝试查找实体中属性的最小日期

    我正在尝试查找核心数据中特定属性中最旧的日期 我发现了核心数据编程指南中的示例 http developer apple com mac library documentation cocoa conceptual CoreData Art
  • 与大多数其他 OS X 应用程序相比,我到底应该传递什么给 -[NSApp activateIgnoringOtherApps:] 才能让我的应用程序“自然”启动?

    当我学习如何自己启动 NSApplications 时 我使用的代码 基于here https bitbucket org rsc plan9port src 18c38bf29b0b8eb3ffd0afb44d22f9bfcda8bc58
  • 像 TraceGL 一样分析 Objective C 中的代码路径?

    TraceGL 是一个非常简洁的项目 它允许 JS 程序员跟踪 Javascript 中的代码路径 它看起来像这样 我想为 Objective C 构建类似的东西 我知道运行时使跟踪方法调用变得相当容易 但是我如何跟踪控制流 例如 在上面的

随机推荐

  • 没有entityClass,并且由于entityClassSet中有多个,所以无法自动推导

    我正在尝试实现具有多个实体类的解决方案 但它失败并显示以下错误消息 没有配置entityClass null 并且因为有多个 EntityClassSet 类 com myspace wla JobA 类 com myspace wla J
  • 如何将我的 csv 文件转换为这个 scikit learn 数据集

    抱歉 如果我在这里没有使用正确的术语 我有一个包含我自己数据的 csv 文件 我首先需要将其转换为另一个format http scikit learn org stable modules generated sklearn datase
  • 如何在 LinearLayoutManager - RecyclerView 中重叠项目(如堆叠卡片)

    是否可以重叠 RecyclerView 中的项目 我正在尝试使用 LinearLayoutManager 我的要求与 LinearLayoutManager 中的相同 我只需要从上到下重叠内部的项目 如堆叠卡片 我见过一些变体 https
  • 了解 Spring 上下文初始化顺序

    我有一组复杂的 bean 以及它们之间的依赖关系 所有豆子都是 Service Repository or Controller带注释 我使用 PostConstruct注解 虽然存在一些循环依赖 但系统仍然由 Spring 正确初始化 然
  • Laravel 多个工人运行两次工作

    我使用 Laravel 5 6 将作业分派到队列 然后使用主管激活该队列上的 8 个工作线程 我原以为 Laravel 会知道不要运行同一个工作两次 但我惊讶地发现它确实如此 同样的工作由不止一名工人负责 因此奇怪的事情开始发生 问题是 一
  • 是否可以从托管 C++/CLI 项目正常运行非托管 C++?

    我正在将一个纯非托管 VC 9 项目包装在 C CLI 中 以便从 NET 应用程序中简单地使用它 我知道怎么写wrappers https stackoverflow com questions 15505992 can you use
  • FFImageLoading:如何添加身份验证?

    我正在尝试使用FF图像加载 https github com luberda molinet FFImageLoading wiki在我的 Xamarin iOS 和 Xamarin Android 应用程序中从 url 加载图像 所有网址
  • & 导致返回的文本在 URL 中被截断

    我从之前维护代码的人那里继承了几个php脚本 他没有编程经验 主要是尽其所能地将东西组合在一起 今天我不得不重写一个WordPress的插件文件 现在我不知道出了什么问题 我面临的问题是 当在属于表的 else 语句中显示返回的文件名时 我
  • 为什么子文件夹没有部署到 Google App Engine Nodejs 应用程序

    我正在开发 NodeJS Web 应用程序并尝试在 Google 云中运行它 仅根文件夹中的文件会使用以下命令部署到 Google App Enginegcloud app deploy命令 appengine express 示例应用程序
  • 解析错误:语法错误,意外的 T_ELSE,我不知道为什么

    这是我的 php 代码 h3 class info Upcoming Games h3 h3 class info Athletic Events h3 为什么我会收到此错误 我已经有了我需要的所有括号 不是吗 The and else 不
  • 如何在 iOS 11 中禁用“保存到文件”?

    我有一个 iOS 应用程序 它创建 PDF 并使用 UIActivityViewController 使用默认共享功能进行共享 我不得不阻止一些共享设施 如 Vimeo Facebook Twillio 等 并且文件不应存储在设备上 在新的
  • 带圆形窗口的局部最大值

    我正在尝试使用圆形内核计算矩阵上的局部最大值滤波器 输出应该是局部最大值的单元格 对于输入 数据 中的每个像素 我需要通过圆形窗口查看它是否是局部最大值 从而返回值 1 否则返回 0 我有这段代码 基于这里的答案 如何将圆盘形掩码应用于 n
  • JSP、MySQL 和 UTF-8

    我正在思考 通过表单输入的国际字符没有完全按照输入的方式存储 并且存储的数据也没有按照存储在数据库中的方式返回 如果我输入 anak mlek patlad 并单击表单上的 保存 我使用的页面会显示 anak mlek patlad 但数据
  • xunit 添加信息到输出

    有谁知道如何在运行 xUnit 测试时向输出控制台添加附加信息 我正在使用 testdriven net 但我不认为这就是我的答案所在 我正在使用一个IUseFixture 实际上IClassFixture从 2 0 开始 在测试之间维护数
  • ServiceStack:如何处理错误?

    到目前为止 我使用 ServiceStack 取得了很好的效果 只是处理错误似乎很棘手 如果在消息序列化期间出现问题 例如 因为我忘记向消息添加默认构造函数 则客户端返回的所有消息都是服务器有内部错误且状态代码为 500 的消息 这Http
  • gwt 从 jsni 方法返回了除 int 之外的其他内容

    从今天开始 我收到了一条与昨天相同的代码的错误消息 但我没有进行任何更改 我收到此错误消息 警告 perchsearch 从 JSNI 方法 com google gwt dom client DOMImplStandardBase Cli
  • 无法使用 vue.js 调用 v-show 和 @click 同一按钮

    我正在尝试根据数据变量在按钮上显示文本并调用 vue js axios 方法的函数 我能够根据数据变量在按钮上显示文本 但无法调用 axios post 方法 我收到以下错误 当我点击按钮时 url http localhost 8085
  • 有没有办法用c3js更改标签?

    我正在使用新的c3js http c3js org 图书馆 有什么办法可以更改图表中某条数据的标签吗 我有一个条形图 其中每个条形都是一个美元价值 我希望每个条形的标签为 100 美元而不是 100 美元 如果我将值设置为 100 美元 则
  • OpenXML 替换所有文档中的文本

    我有下面的一段代码 我想用 NewText 替换文本 Text1 这样就可以了 但是 当我将文本 Text1 放入表格中时 该表格不再适用于表格内的 Text1 我想在所有文档中进行此替换 using WordprocessingDocum
  • initWithFrame 未调用,但 awakeFromNib 已调用

    我正在尝试对 NSOutlineView 进行子类化 这是我的代码 OutlineViewSublcas h import