このリンクで Moshe のコードを試してみましたが、「for (UIButton *button in ...」の部分を除いて機能し、ボタンをクリックするたびにクラッシュします。
そこで、viewDidLoad メソッドで次のコードを試しました。
UIButton *testButton = [[UIButton alloc]initWithFrame:CGRectMake(20,50,30,30)];
testButton.backgroundColor = [UIColor orangeColor];
[testButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[testButton setTitle:@"A" forState:UIControlStateNormal];
[testButton addTarget:self action:@selector(commonMethodForButtons:) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:testButton];
[testButton release];
私のプロジェクトには、これと Moshe のサンプル コードしか含まれていません。アプリがクラッシュする理由はありますか? クラッシュログがありません。
編集:
オープンスコープには、次のメソッドがあります。
-(void)commonMethodForButtons:(id)sender
{
NSLog (@"you touched me!");
}
編集2:
この問題の理由を見つけました:
私はAppDelegateでコメントアウトし[mvc release];
たので、今では完全に機能します:)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
MVC *mcv = [[MVC alloc]initWithNibName:nil bundle:nil];
[self.window addSubview: mcv.view];
//[mcv release];
[self.window makeKeyAndVisible];
return YES;
}
ご指摘ありがとうございます!:)