如何向ViewController的视图发送消息?

时间:2016-11-07 22:09:34

标签: ios objective-c cocoa

我在很长一段时间后回到iOS开发,所以不得不提出这样一个基本问题。

我正在创建一个视图应用。我创建了一个类DrawingBoard,它是UIImageView的子类。 Main.Storyboard中设置的ViewController与锅炉板保持不变,只是我已将视图控制器的视图从View类更改为DrawingBoard。在界面构建器中,我右键单击“查看控制器”,我看到“绘图板”被列为插座。

所有,到目前为止都很好。我启动了应用程序。 DrawingBoard被实例化并响应触摸。

但现在我想发送DrawingBoard来自ViewController的消息。我在标头中的@interface中设置了公共方法,该方法在.m中实现。 ......我无法发送消息。视图控制器似乎不知道DrawingBoard。我错过了什么?

//
//  DrawingBoard.h
//  DrawingBoard

#import <UIKit/UIKit.h>

@interface DrawingBoard : UIImageView {}
-(void)testMe;
@end

...

//
//  DrawingBoard.m
//  DrawingBoard
//
#import "DrawingBoard.h"

// ...

-(void)testMe {
    NSLog(@"/n/n/nTested!/n/n/n/");
}

我尝试从DrawingBoard发送ViewController消息,如下所示:

[self.view testMe]

1 个答案:

答案 0 :(得分:0)

你可以说

[(DrawingBoard*)self.view testMe];

但不要。将图像视图放在视图控制器的主视图中;不要让它成为视图控制器的主视图。然后创建一个IBOutlet,以便视图控制器可以获得它的引用。