以前にこれに似た質問をしたことがありますが、新しい問題が発生したため、質問の一部を再投稿しました。
MainView.h
ヘッダーのインターフェース宣言の前にこれがあります。
typedef enum { UNKNOWN, CLEAR, NIGHT_CLEAR, CLOUDY, NIGHT_CLOUDY } Weather;
次に、(MainViewで)次のように宣言しました。
Weather weather;
次に、アクセサーを作成しました(そしてそれを合成しました):
@property Weather weather;
MainViewController
私の質問は、クラッシュせずにこれをどのように使用できるかということです。 MainViewのヘッダーをインポートしました。私はそれを次のように使用しようとしました:
MainView* myView = (MainView*)self.view;
[myView setWeather: CLEAR];
Xcodeでエラーが発生することはありませんが、コードを実行するとクラッシュし、次のように表示されます。
-[UIView setWeather:]: unrecognized selector sent to instance *blah*
私はここで何か間違ったことをしていますか?
私のMainViewControllerで:
- (void)viewDidLoad {
[super viewDidLoad];
MainView * drawBox = [[MainView alloc] initWithFrame:(CGRectMake(60, 80, 200, 200))];
drawBox.backgroundColor = [UIColor clearColor];
[self.view addSubview:drawBox];
}