2012-03-08 8 views
2

テーブルビューのセルにテキストフィールドがあり、カスタム入力キーボードを割り当てたい。私はキーボードを表示することができますが、それは対応するコントローラクラスが接続されていないようです。いずれかのボタンを押すと、EXC_BAD_ACCESSエラーまたは「認識できないセレクタ」エラーが発生します。ここでEXC_BAD_ACCESS ARCに切り替えたときのエラー

私はカスタム入力キーボード

CustomNumberPadViewController *calcKeyboard = [[CustomNumberPadViewController alloc] initWithNibName:@"CustomNumberPadView" bundle:nil]; 
calcKeyboard.equationViewController = self; 
cell.variableValue.inputView = calcKeyboard.view; 

にテーブルビューのセルのテキストフィールドを結びつけるコードである私はcalkKeyboardのボタンに結びついアクションメソッドを持っている、と私は、ボタンを押したときに、これらの方法ではありません呼び出されています。私は "viewWillAppear"メソッドをインスタンス化しました。これもキーパッドが現れたときに呼び出されません。

私は数値パッドのクラスをチェックし、上記のメソッドを含むCustomNumberPadViewControllerに接続しています。ここで

は私CustomNumberPadViewControllerのコードです:

#import <UIKit/UIKit.h> 
#import "EquationViewController.h" 
@class EquationViewController; 


@interface CustomNumberPadViewController : UIViewController <UITextFieldDelegate>{ 
EquationViewController *equationViewController; 
} 

@property (nonatomic, strong) EquationViewController *equationViewController; 

-(IBAction)buttonPressed:(id)sender; 
-(IBAction)buttonDonePressed:(id)sender; 
-(IBAction)buttonDelPressed:(id)sender; 


@end 

と関連する実装(簡潔にするために、私はアクションメソッドの根性を切り出し、ちょうど私のデバッグログを残してきた):

#import "CustomNumberPadViewController.h" 
#import "VariableCellController.h" 

@implementation CustomNumberPadViewController 

@synthesize equationViewController; 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
     if (self) { 
    } 
    return self; 
} 

- (void)didReceiveMemoryWarning 
{ 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 

    // Release any cached data, images, etc that aren't in use. 
} 

#pragma mark - View lifecycle 

-(void) viewWillAppear:(BOOL)animated 
{ 
    UIColor *backgroundPatern = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"calculatorBackground.png"]]; 
    self.view.backgroundColor = backgroundPatern; 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

#pragma mark - Action Methods 

-(IBAction)buttonPressed:(id)sender{ 
    NSLog(@"61-CNPVC");  
} 
-(IBAction)buttonDonePressed:(id)sender{ 
    NSLog(@"117-CNPVC"); 
} 
-(IBAction)buttonDelPressed:(id)sender{ 
    NSLog(@"125-CNPVC"); 
} 
@end 

答えて

2

私は、CustomNumberPadViewControllerをaddChildViewControllerで追加するか、それをプロパティに割り当てることによって、保持する必要があると思います。

zombies enabledでデバッグを試してください。

+0

それはそうでしたが、以前はプロパティにしようとしましたが、いくつかの構文を混乱させて、他のアイデアに移っていたに違いありません。ありがとう、トン。面白いことに、ARCを使用していないときにこの問題は発生しませんでした。しかし、私はメモリリークを起こしたと思います... – Jbryson

関連する問題