Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将应用程序委派添加回mainwindow.xib_Ios_Delegates_Xib_Nib - Fatal编程技术网

Ios 如何将应用程序委派添加回mainwindow.xib

Ios 如何将应用程序委派添加回mainwindow.xib,ios,delegates,xib,nib,Ios,Delegates,Xib,Nib,简短回答: 从对象库中拖动对象并将其类设置为委派 详情见下面的答案 我不小心从mainwindow.xib中删除了应用程序委派。我查看了所有地方,但仍然找不到一种方法将其添加回去。我试图在网上找到它,但仍然没有结果。有人能帮我修一下吗?多谢各位 我的项目 他人的项目 Main.m #import <UIKit/UIKit.h> int main(int argc, char *argv[]) { @autoreleasepool { return UIA

简短回答:

从对象库中拖动对象并将其类设置为委派

详情见下面的答案

我不小心从mainwindow.xib中删除了应用程序委派。我查看了所有地方,但仍然找不到一种方法将其添加回去。我试图在网上找到它,但仍然没有结果。有人能帮我修一下吗?多谢各位

我的项目

他人的项目

Main.m

#import <UIKit/UIKit.h>

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, nil);
    }
}
#导入
int main(int argc,char*argv[])
{
@自动释放池{
返回UIApplicationMain(argc、argv、nil、nil);
}
}

通常,您的AppDelegate不会在任何.xib文件中被引用。相反,main.m将实例化AppDelegate的一个实例(通过
UIApplicationMain
函数),然后AppDelegate将实例化一个或多个视图控制器,这反过来将基于.xib文件取消归档一些视图

main.m
中,您的应用程序的入口点(您的AppDelegate在此处被实例化并启动您的应用程序)应如下所示(如果您的应用程序委派具有不同的类名,请使用该类名而不是
AppDelegate

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

…但是,如果您的应用程序具有MainWindow.xib,则上述内容都不正确,并且您确实希望在MainWindow.xib中创建AppDelegate的实例。为此,只需将通用对象从对象库拖动到IB中的对象区域,然后转到标识检查器,并将类字段设置为应用程序委托的类名。(您可以通过View/Utilities访问对象库和身份检查器。

谢谢@yuji,那么我该怎么做才能找回它呢?我很困惑,由于您的应用程序代理“缺席”,您具体不能做什么?我说“缺席”因为mainwindow.xib一开始通常不会引用它。感谢您的快速回复,我上传了一个图像。我的问题是如何将appdelegate添加到nib。您不应该这样做:如果这样做,您将创建
appdelegate
类的新实例,而不是连接到您的应用程序的实际appdelegate实例如果你真的想在视图控制器中引用你的
AppDelegate
,这个问题:将告诉你1)如何编程和2)为什么这样做不是很好的MVC。谢谢@yuji,实际上我把它改成了nil,因为我试着跟随其他项目。现在我把它改回去了,仍然无法在mainwindow.xib中看到PushBizAppDelegate。因为我没有appdelegate,我无法将它的类设置为MyAppDelegate,也无法将它链接到文件所有者。