对愚蠢的帖子表示抱歉,但是我不熟悉Objective-C编程和Cocoa,并且有几个我找不到答案的问题,希望有人能启发我。

首先,在XCode中,当使用“界面”构建器时,当我想创建一个新对象时,将该对象拖到“资产”中。但是,如果不手动创建新的类文件,则无法指定方法或其他任何内容。使用界面生成器的“对象”有什么意义吗?

我开发的第一个用于测试事物的应用程序将大部分代码放入AppDelegate类文件中。研究表明,AppDelegate的目的只是处理诸如启动和关闭之类的应用程序事件。我将方法放在此类中是否出错?有什么区别吗?

最后,如果我创建了几个类文件,每个类文件都通过构建并链接到类的接口来处理自己的功能,那么我如何处理“主”文件?在我看来,“主”文件和“ appdelegate”类文件在大多数情况下会保持原样?

我希望这是有道理的。再次对抱歉的问题感到抱歉,但找不到任何答案。

预先感谢大家!

最佳答案

首先,在XCode中,当使用“界面”构建器时,当我想创建一个新对象时,将该对象拖到“资产”中。但是,如果不手动创建新的类文件,则无法指定方法或其他任何内容。


你当然可以。只需使用检查器设置对象的类。

请注意,您只能将笔尖对象连接到插座或动作。您不能指定任何随机方法,也不应该-IBOutletIBOutletCollectionIBAction关键字的全部要点是在代码中声明笔尖使用了这些属性/方法。


  使用界面生成器的“对象”有什么意义吗?


是的,但很少见。通常,您使用代码创建对象并将插座连接到它们。

如果以这种方式构建应用程序(iOS模板由于某种原因而偏离了它),则应用程序的委托是您可能要在MainMenu或MainWindow笔尖中创建的一个对象。


  我开发的第一个用于测试事物的应用程序将大部分代码放入AppDelegate类文件中。研究表明,AppDelegate的目的只是处理诸如启动和关闭之类的应用程序事件。我将方法放在此类中是否出错?


大概。应用程序的代表通常只应处理与NS / UIApplicationDelegate协议有关的业务。

另一方面,如果可以的话,可以让根视图控制器成为应用程序的委托(并且NS / UIApplicationDelegate实现代码不太繁琐)。您必须回答的问题(只有您才能为应用程序回答)是要让根视图控制器成为应用程序的委托,还是使应用程序的委托成为根视图控制器。如有疑问,请将它们分开。


  有什么区别吗?


长期的,是的。创建Big Ball of Mud类非常容易,尤其是在应用程序委托的类中,它没有明确定义的职责。尽快将炸药带到这样的班上。


  最后,如果我创建了几个类文件,每个类文件都通过构建并链接到类的接口来处理自己的功能,那么我如何处理“主”文件?在我看来,“主”文件和“ appdelegate”类文件在大多数情况下会保持原样?


是。他们是样板。

如果您尚未在应用程序的委托中编写任何代码(或已将您放入其中的所有内容删除到新的且描述得更好的类中),以使剩下的全部为空方法主体或根本没有,则可以安全地删除应用程序的委托代表。如果您改变主意,以后可以随时再次创建它。

请注意,如果删除应用程序委托类,则还应更改main.m文件或​​MainMenu / MainWindow笔尖(如果有的话),以免引用它。如果您的UIApplicationMain调用(或任何其他代码)引用的类不存在,则您的应用程序将无法构建,如果MainMenu / MainWindow笔尖(或任何其他笔尖)引用的类不存在,则应用程序将崩溃不存在。

如果需要,在应用程序中没有委派是没有耻辱的,但是,如果不需要,则删除它以及您使用的委托类消除了将来在此处填充代码或使用它存储third-order globals的诱惑。

关于objective-c - XCode/Cocoa Objective-C-几个问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10158611/

10-14 20:14