【发布时间】:2012-03-22 13:06:51
【问题描述】:
我正在尝试从模态视图控制器调用主视图控制器中的操作 (changeMainNumber)。该操作应将 UILabel mainNumber 更改为 2。在 ViewController.h 中,我有:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {
IBOutlet UILabel *mainNumber;
}
@property (nonatomic, retain) UILabel *mainNumber;
-(IBAction)changeMainNumber;
ViewController.m:
#import "ViewController.h"
@implementation ViewController
@synthesize mainNumber;
- (IBAction)changeMainNumber:(id)sender {
mainNumber.text = @"2";
}
下一个视图控制器是模态视图控制器。 模态视图控制器.h:
#import <UIKit/UIKit.h>
@class ViewController;
@interface ModalViewController : UIViewController {
}
-(IBAction)callChangeMainNumber:(id)sender;
和 ModalViewController.m:
#import "ModalViewController.h"
@implementation ModalViewController
- (IBAction)callChangeMainNumber {
ViewController *viewController = [[ViewController alloc] init];
[viewController changeMainNumber];
}
使用此设置,当调用 callChangeMainNumber 时,应用程序会不断崩溃,我不知道出了什么问题。感谢您提供的任何帮助!
【问题讨论】:
-
崩溃?消息是什么?它在哪里崩溃?你知道你在 callChangeMainNumber 里面创建了一个新的 ViewController 并改变它吗?
-
感谢您的回答。运行 callChangeMainNumber 操作(圆形矩形按钮)时,应用程序崩溃。我不知道该怎么做,那么用 callChangeMainNumber 调用 changeMainNumber 的正确方法是什么?
-
运行 callChangeMainNumber 是什么意思?哪条线?正确的方法是将 ViewController 对象传递给 ModalViewController 对象,以便最后一个可以将 changeMainNumber 消息发送给第一个对象。明白了吗?
-
好的,我想我明白了。我对此有点陌生,那么我将如何将 ViewController 对象传递给 ModalViewController?
-
视情况而定,您可以在 ModalViewController 上设置一个名为 mainController 的属性并执行 modalViewController.mainController = self;如果您在 ViewController 类上初始化 modalViewController。
标签: iphone xcode cocoa-touch ios4