Objective c 在Cocoa中,main.m类的用途是什么?

Objective c 在Cocoa中,main.m类的用途是什么?,objective-c,cocoa,Objective C,Cocoa,它就在那里。。。如何独立于UI操作运行代码(例如,不仅仅是为了响应按钮按下)?我试图在从NIB唤醒之前初始化一些对象并运行一些脚本。我该怎么做 main.m是启动应用程序的工具-在nibs加载之前运行,在创建非应用程序之前将其放入main.m 在Cocoa中,main.m类的用途是什么 没有,因为没有 首先,.m文件不是类。h也不是。将类的@接口放在.h(头)文件中,将类的@实现放在.m(实现)文件中的做法是一种惯例,仅此而已。这是一个很好的惯例,但语言并不强制执行 因此,一个.m文件包含零个或

它就在那里。。。如何独立于UI操作运行代码(例如,不仅仅是为了响应按钮按下)?我试图在从NIB唤醒之前初始化一些对象并运行一些脚本。我该怎么做

main.m是启动应用程序的工具-在nibs加载之前运行,在创建非应用程序之前将其放入main.m

在Cocoa中,main.m类的用途是什么

没有,因为没有

首先,.m文件不是类。h也不是。将类的
@接口
放在.h(头)文件中,将类的
@实现
放在.m(实现)文件中的做法是一种惯例,仅此而已。这是一个很好的惯例,但语言并不强制执行

因此,一个.m文件包含零个或多个类实现。通常,它正好是一个。有时是两个,另一个是一个小的私有类,其
@interface
也在同一个文件中

main.m不包含任何类。它通常只包含一个函数,名为
main

main
来自C(Objective-C是其中的超集),是程序的入口点:它是程序开始运行的地方。一切都发生在这里,或者在从这里调用的函数中。命令行工具通常也会通过返回退出

Cocoa应用程序中的大多数
main
功能都是项目模板附带的默认功能;这个实现只是尾部调用
NSApplicationMain
,它设置共享的NSApplication对象并开始运行。这个函数永远不会返回;当用户退出Cocoa应用程序时,该过程简单地退出

你可能想看看我写的。听起来你有一些误解(可能来自于你更熟悉的另一个框架),这些误解可以帮你澄清

如何独立于UI操作运行代码(例如,不仅仅是为了响应按钮按下)

这取决于你什么时候试着去做。例如,一个周期性的行动将是一个团队的工作

我试图在从NIB唤醒之前初始化一些对象并运行一些脚本。我该怎么做

您可以在
initWithCoder:
中执行此操作,它将发送到从存档中实例化的每个非视图层对象,包括您的对象。笔尖也是档案

您也可以考虑作为应用程序委托并实现.< /P>


第三种方法是将代码填充到
main
中。请注意,这里几乎所有的Cocoa代码都可能记录“no”警告,除非您将其包装在
@autoreleasepool
语句中;其他解决方案没有这个问题,因为NSApplication已经为您创建了一个自动释放池。

您可以指向的任何.m文件(在任何项目中),只需将其签出即可。除了返回UIApplicationMain…,我从未见过一个包含任何其他代码行的应用程序@Peter的“关于Cocoa和Objective-C的重要事实列表”链接似乎已经转移到@MatheTracker:啊,我曾经设置过重定向(从/Cocoa intro和/Cocoa touch intro),但它们一定是在服务器移动中丢失的。谢谢你指出这一点。