テーブルビューのセルにテキストフィールドがあり、カスタム入力キーボードを割り当てたい。私はキーボードを表示することができますが、それは対応するコントローラクラスが接続されていないようです。いずれかのボタンを押すと、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
それはそうでしたが、以前はプロパティにしようとしましたが、いくつかの構文を混乱させて、他のアイデアに移っていたに違いありません。ありがとう、トン。面白いことに、ARCを使用していないときにこの問題は発生しませんでした。しかし、私はメモリリークを起こしたと思います... – Jbryson