从 Swift 中的另一个类访问 IBOutlet

2023-12-07

我是 Swift 和 Mac 应用程序的新手。 因此,我今天正在编写一个 Mac 应用程序,但经过大量搜索后,我仍然困惑如何从另一个类访问 IBOutlet。

我正在使用 StoryBoard 并且有两个 NSTextFieldpath mirror在我的视图控制器中。 我创建了一个自定义类Path.swift对于第一个 NSTextFieldpath知道文本何时出现path已经改变。

class Path: NSTextField, NSTextFieldDelegate 
{
override func drawRect(dirtyRect: NSRect)
{
    super.drawRect(dirtyRect)
    // Drawing code here.
    self.delegate = self
}
var current = ""

override func controlTextDidChange(obj: NSNotification)
{
    current = self.stringValue
    println("Current is \(current)")
} 
}

ViewController.swift 中定义了两个出口

class ViewController: NSViewController
{

    override func viewDidLoad()
    {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    override var representedObject: AnyObject? {
        didSet {
        // Update the view, if already loaded.
        }
    }

    @IBOutlet weak var path: NSTextField!

    @IBOutlet weak var mirror: NSTextField!
}

当用户在第一个 NSTextField 中输入内容时path,我想要第二个 NSTextFieldmirror显示相同的字符串path.

我尝试使用ViewController().mirror.stringValue = current,但我得到了fatal error: unexpectedly found nil while unwrapping an Optional value

经过大量谷歌搜索后,我知道我创建了一个新的 ViewController 实例,而不是访问当前现有的 ViewController 实例。

所以我的问题是如何访问 IBOutletViewController.swift from Path.swift类(如何访问当前存在的 ViewController 实例)。

任何帮助将不胜感激。

提前致谢。


None

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

从 Swift 中的另一个类访问 IBOutlet 的相关文章

随机推荐

  • BigQuery 试运行会返回什么?

    BigQuery 文档说 在表的较小分区而不是一个大表上测试查询 如果使用 API 请验证查询的语法并使用 dryRun 标志获取数据处理统计信息 但他们也表示 对于 dryRun 如果设置 则不会实际运行查询 有效的查询将返回空响应 而无
  • 调用 GBrowserIsCompatible() 时 Google 地图 API JavaScript 错误

    我在以下行中收到错误 if GBrowserIsCompatible 这是我的代码仍然无法工作
  • 尝试将 SELECT SCOPE_IDENTITY() 作为 C# 变量

    我正在一个表中插入一行 然后想要获取该新 ID 以便我可以将其添加到存储电子邮件地址的另一个变量中 var db Database Open myDB var insertCommand1 INSERT INTO myDB FirstNam
  • 寻找指南针 2 度之间最接近的差异 - Javascript

    我基本上是想找出指南针上两个点相距多少度 例如 如果一个人面朝 270 度 而指南针为 280 度 那么这两点之间就有 10 度 如果相对于第一个标题 它在左侧 我还想要一个负数 在右侧则为正数 例如 当 to 标题为 350 和 020
  • 防止选择和复制

    我想在 html 页面中不活动选择和复制文本 当我使用 Javascript 且处于非活动状态时 右键单击用户可以使用 Ctrl V 你不能 甚至不要尝试 不要惹恼你的用户 如果您将其公开发布在网络上 则可以复制 从技术上讲 用户一看到它就
  • 如何使用 Spring AOP 和 SPring boot 进行日志记录

    我使用与本示例教程中相同的 LoggingAspect 类https www javaguides net 2019 05 spring boot spring aop logging example tutorial html 但是当我调
  • 困惑为什么 PyGame 显示黑屏

    因此 在我决定问这个问题之前 我做了一些研究 看看我的问题是什么 并发现了这一点 代码仅在 Pygame 窗口中产生黑屏然而 这并不是那么有帮助 因为我没有遇到与此人相同的问题 我确信我的 PyGame 没有过时或类似的东西 因为我的代码的
  • 添加程序集引用还需要引用基础程序集

    我创建了一个程序集 该程序集有一个子类 该子类派生自另一个程序集中定义的父类 当我添加对子项的引用时 Visual Studio 还要求将引用添加到父项 为什么会这样 如何在不丢失任何功能的情况下防止它 你所描述的情况是部分可能的 您可以消
  • 渐变动画 - 减速和加速

    我正在制作一个动画CAGradientLayer 类似于苹果在 iPhone 主屏幕上使用 滑动解锁 动画的方式 然而我的动画有点不同 它在某些点会减慢和加速 到目前为止 我的代码是一个渐变动画并且可以工作 但是我如何让它在不同的点减慢 加
  • IBM Worklight - 无法使用现有别名注册到事件源回调。该别名已用于事件源

    我正在使用 IBM Worklight 6 0 0 并在 iOS 7 设备上进行测试 我有以下js错误 Cannot register to event source callback with an existing alias myPu
  • [function.fopen]:打开流失败:HTTP 请求失败! HTTP/1.1 401 未经授权

    function fopen 打开流失败 HTTP 请求失败 HTTP 1 1 401 未经授权 我定期收到此错误 即它仅在随机时间发生 任何想法会导致此错误 我已检查我的 php ini 并将allow url fopen 设置为 tru
  • 将 SQL 数据读取器数据加载到 DataTable 时遇到问题

    string query select from cfo daily trans hist try using SqlConnection connection new SqlConnection cnnString SqlCommand
  • c# 如何使用实时图表反转 Y 轴

    我试图简单地反转 Y 轴 以便该图向上而不是向下 从 6 开始 一直到 1 这是关于倒置图的用户文档 https lvcharts net App examples v1 wpf Inverted 20Series 这是我用来构建图表的示例
  • NodeJS 中的空合并赋值运算符 (??=)

    我正在尝试在 NodeJS 中使用 Nullish 合并赋值运算符 这可能吗 const setValue object path value gt const indices first 0 second 1 keys path repl
  • Java - PKCS11 和 MSKeyStore

    我正在尝试使用 MS KeyStore 中的不同证书签署一个字符串 但是 我知道有从 MS Keystore 中的令牌导入的密钥 所以 我的问题是 如果我通过密钥库并尝试使用引用 pkcs11 的证书进行签名 我会弹出一个窗口 要求输入 p
  • 从文本变量读取 rpart 输入参数

    我在用着rpart制作决策树 例如 fit lt rpart Kyphosis Age Number Start data kyphosis 如何从文本文件中读取公式部分并以以下格式获取它rpart喜欢 我试过了 predictor var
  • Protégé 中枚举的数据范围表达式

    我想将数据类型属性的范围定义为字符串的详尽枚举 这样个人只能将枚举中的一个字符串作为该属性的值 例如 名为 颜色 的数据类型属性只能采用 3 个值 红色 绿色 和 蓝色 我正在使用 OWL 2 和 Prot g 5 0 使用 Prot g
  • cf Push 是否尊重 .gitignore 的使用?

    我正在使用 gitignore下面的文件希望当我推送我的应用程序时 tmp 目录和交换文件将被忽略 但这并没有发生 现在我想知道是否cf push甚至考虑 gitignore swp tmp 有谁知道如果cf push需要一个 gitign
  • Google 地图 API 地理编码返回两个不同地点的相同坐标

    我正在尝试获取这些 POI 的坐标 但 Google 地理编码返回错误的坐标 两个地址的坐标相同 在谷歌地图中它们工作得很好 我应该如何为他们构建正确的 URL https maps googleapis com maps api geoc
  • 从 Swift 中的另一个类访问 IBOutlet

    我是 Swift 和 Mac 应用程序的新手 因此 我今天正在编写一个 Mac 应用程序 但经过大量搜索后 我仍然困惑如何从另一个类访问 IBOutlet 我正在使用 StoryBoard 并且有两个 NSTextFieldpath mir