【问题标题】:Call method in another class failure调用另一个类中的方法失败
【发布时间】:2012-12-14 23:39:21
【问题描述】:

我已经建立了一个小项目,在这个项目中我想在​​另一个控制器中调用一个方法。我已经在这个example 中进行了设置。但是,我尝试运行代码,但没有调用该方法!

有谁知道我做错了什么?

我的代码:

Second.h:

#import <UIKit/UIKit.h>

@class First;

@interface Second : UIViewController {

}

@property (nonatomic, retain) First* vC;

@end

Second.m:

#import "Second.h"
#import "First.h"



@interface First ()

@end

@implementation First
@synthesize vC;

- (IBAction)dothis:(id)sender {
    
    NSLog(@"Hello World!");

    [self.vC getThis];
    

}


-(void)viewDidLoad {

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button addTarget:self
               action:@selector(dothis:)
     forControlEvents:UIControlEventTouchDown];
    [button setTitle:nil forState:UIControlStateNormal];
    button.frame = CGRectMake(5, 70, 270, 200);

[super viewDidLoad];

}

@end

First.h:

#import <UIKit/UIKit.h>
#import "Second.h"

@interface First: UIViewController {
//some Outlets and so on...

}

-(void)getThis;

@end

First.m:

#import "First.h"

@interface First ()
@end

@implementation First


-(void)getThis {
NSLog(@"You reached the end-zone!");
}

@end

在这里您可以看到我的控制器的各个部分,但如果我运行该应用程序,它就可以正常工作。但是,就在我单击 Second 上的按钮时,它只显示“Hello World!”而不是“你到达了终点区!”。我也用 alertviews 试过这个。有人可以教我如何解决这个问题吗?我认为第一个和第二个之间没有联系,但为什么呢?

提前致谢。

【问题讨论】:

    标签: iphone ios class methods


    【解决方案1】:
    -(void)viewDidLoad {
    self.vC  = [[First alloc] init]; //need this
    
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button addTarget:self
               action:@selector(dothis:)
     forControlEvents:UIControlEventTouchDown];
    [button setTitle:nil forState:UIControlStateNormal];
    button.frame = CGRectMake(5, 70, 270, 200);
    
    [super viewDidLoad];
    
    }
    

    【讨论】:

    • 你的意思是在第二个?
    • 顺便问一下,你在哪里添加按钮到视图中?您说该按钮有效,因为您说您可以单击它..但是从该代码中该按钮甚至不应该显示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    相关资源
    最近更新 更多