对象不会调用好的控制器

时间:2010-08-21 21:52:48

标签: iphone objective-c

在我的应用中,我有一个带有按钮的工具栏。当您按下该按钮时,会出现一个actionSheet,您可以更改应用程序的语言。我想在很多视图中放置这个工具栏,但是我想在我的所有视图中使用相同的对象,而不是复制粘贴。所以我创建了一个带有nib文件的UIViewController,这个nib文件包含了我的toolBar。现在,在uiview中,我这样做

toolBar *objToolBall = [[toolBar alloc] initWithNibName:@"toolBar" bundle:nil];

objToolBall.view.frame = CGRectMake(0, 418, 320, 44);

[self.view addSubview:objToolBall.view];

[objToolBall release];

我的问题是当我按下toolBar中的按钮时,程序尝试在我创建对象的文件中找到方法“clickButtonLanguage”,而不是在“toolBar.m”中。

我如何进入“toolBar.m”方法?

1 个答案:

答案 0 :(得分:0)

问题不在于发布(假设你的原始viewController及其相关视图仍然存在)。这个版本是有道理的:你创建了一个对象,将它的责任交给你添加它的视图,现在你需要释放它,这样它就不会泄漏。所以不要掉线。

您正在原始视图控制器中进行方法调用,因为正是您将其连接到的内容。如果您想将其连接到其他IBActions,则必须使用

以编程方式添加它们
[objToolBall addTarget:action:forControlEvents:]

然后将这些对象作为侦听器删除,并调用-removeTarget:action:forControlEvents