gpt4 book ai didi

objective-c - 在大型 Cocoa 应用程序中放置导出/操作的最佳位置?

转载 作者:行者123 更新时间:2023-12-03 17:34:13 24 4
gpt4 key购买 nike

我正在用 Objective-C 开发我的第一个应用程序,所以我完全希望它在这一点上不完全是“最佳实践”,但我认为我可能开始将我的代码/导出/操作分散在错误的地方。所以我想知道把这些东西放在哪里最好。以下是我的应用程序的简要概述:

我在顶部有一个 NSTabView,其中包含一些 NSTextFields 和 NSButtons,所以我有一个所谓的 TabViewController,其中包含其中所有内容的所有导出/操作。通过代码,我现在希望能够将文本字段的默认操作设置为两个按钮之一(因此我无法通过 ctrl+拖动来连接它,有人假设)。我想我应该在 TabViewController 的 init: 方法中执行此操作,但这似乎不起作用,所以我想它没有像我希望的那样被调用?

[_myTextFieldOutlet setTarget:self]; 
[_myTextFieldOutlet setAction:@selector(oneOfTheMethods:)];

因此,我打算将一些导出拖到我的 AppDelegate 中,认为我应该在 applicationDidFinishLaunching: 方法中执行上述操作,但这现在需要两个文件中的这些文本字段的导出,而不仅仅是 TabViewController。我现在开始认为我正在制造困惑。如果我在 AppDelegate 中执行上述操作,那么“self”可能是不正确的,并且可能 oneOfTheMethods: 也看不到?我还没试过。

有更好的方法吗?我想摆脱在一个类中拥有一百个方法的束缚,并且为 GUI 中的每个主容器配备一个 Controller 似乎足够合理。但是,当一个 Controller 中的方法需要引用其他 Controller 时,我开始认为我做错了。我对 c# .NET 更加熟悉,并且可以轻松地完成同样的事情,没有任何问题,但 Objective-C 和 XCode 仍然让我在大多数时候都怀疑自己。

谢谢。

最佳答案

我建议阅读 Mike Ash 的 NSblog ;我学到了很多。他的建议如下organizing a Cocoa app

The fundamental UI component of a Cocoa app is the NSWindow, and there are many different ways to instantiate and manage them, but there is only one correct way: for each type of window, there should be a separate nib file, and a specialized NSWindowController subclass. I'll walk through what this means and how to do it, a topic suggested by reader Mike Shields.

关于objective-c - 在大型 Cocoa 应用程序中放置导出/操作的最佳位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18284690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com