Objective c 无法使用委托
我对目标c不熟悉,试图掌握学员的方法和用法。目前我有Alertview类,我需要它生成另一个类来调用它的函数。我在appdelegate类中也做到了同样的事情。但我不能用我自己的班级Objective c 无法使用委托,objective-c,ios,xcode,cocoa-touch,Objective C,Ios,Xcode,Cocoa Touch,我对目标c不熟悉,试图掌握学员的方法和用法。目前我有Alertview类,我需要它生成另一个类来调用它的函数。我在appdelegate类中也做到了同样的事情。但我不能用我自己的班级 TableViewController *newControll = (TableViewController*)[UIApplication sharedApplication].delegate; [newControll openSettings
TableViewController *newControll = (TableViewController*)[UIApplication sharedApplication].delegate;
[newControll openSettings];
这就是我试图访问我的方法的方式。编译器在newControll中看到了这个方法,但是调用它会得到无法识别的选择器
基本上,我需要从另一个类调用一个已经在前面创建的函数。如果这是一个简单的解决方案,我很抱歉,但我还不能很好地掌握委托和objective-c
也许不是每个人都明白这是我需要做的,所以我会再解释一遍
我有对象
TableViewController
。从内部的这个对象,我调用classAlertView
来显示一些警报消息。根据警报对话框中的用户交互(密码正常,密码不正常),我需要在我的TableViewController
中调用方法openSettings
,或者不调用。那么如何做到这一点呢?如果您的TableViewController
不是appdelegate类,您应该使用TableViewController
的对象来使用方法openSettings
应该是这样的,
TableViewController *newControll = [[TableViewController alloc] init];
假设您正在移动到新的alertView
。在AlertView.h
文件中添加
@property(nonatomic, retain) TableViewController *tableViewController;
在创建新的alertView
对象时
AlertView *alertView = [[AlertView alloc] init];
//some code..
alertView.tableViewController = self;
现在在您的AlertView
类中,将其称为
[self.tableViewController openSettings];
使用appdelegate不是这样做的
如果您需要一些iOS教程,。我不知道您想要什么,但编译器说得很对..)首先-是否确定[UIApplication sharedApplication]。委托不是零?第二个-[UIApplication sharedApplication]。委托可能没有任何选择器openSettings。这将帮助您发布一些代码!!您希望看到哪个部分?尝试了这种方法,但没有正确完成,因为我需要调用先前创建的确切对象,而不是创建新对象并进行调用。newControll在哪里创建?哪个班?你想在哪里调用这个方法?无论如何,我更新了我的答案。我已经更新了我的问题,请看一看,也许它会更清楚我想说什么do@Datenshi,alertview是一个单独的类吗?如果是,请检查我的答案。是的,它按照我的意愿工作。如果我一开始不明白你的答案,我很抱歉。谢谢你的帮助!