我正在用 Objective-C 开发我的第一个应用程序,所以我完全希望它在这一点上不是“最佳实践”,但我认为我可能开始将我的代码/出口/操作分散在错误的地方。所以我想知道把这些东西放在哪里最好。这是我的应用程序的简要概述:
我在顶部有一个 NSTabView,其中包含一些 NSTextFields 和 NSButtons,所以我有一个我称之为 TabViewController 的东西,里面有所有的出口/动作。通过代码,我现在希望能够将文本字段的默认操作设置为两个按钮之一(所以我不能通过 ctrl+拖动来连接它,一个假设)。我以为我会在我的 TabViewController 的 init: 方法中执行此操作,但这似乎不起作用,所以我想它没有像我希望的那样被调用?
[_myTextFieldOutlet setTarget:self];
[_myTextFieldOutlet setAction:@selector(oneOfTheMethods:)];
因此,我正准备将一些出口拖到我的 AppDelegate 中,认为我应该从 applicationDidFinishLaunching: 方法中执行上述操作,但这现在需要两个文件中的这些文本字段的出口,而不仅仅是 TabViewController。我现在开始认为我正在制造混乱。如果我在 AppDelegate 中执行上述操作,并且也许 oneOfTheMethods: 也看不到,那么“自我”可能是不正确的?我还没有尝试过。
有一个更好的方法吗?我想摆脱在一个类中有一百个方法,并且在 GUI 中为每个主要容器都有一个控制器,这似乎很合理。但是当一个控制器中的方法需要引用其他控制器时,我开始认为我做错了。我对 c# .NET 更加熟悉,并且可以轻松地在那里完成相同的事情而不会出现问题,但是 Objective-C 和 XCode 仍然让我大部分时间都在猜测自己。
谢谢。