0
カスタムオブジェクトにアクションを送信しようとすると、EXC_BAD_ACCESSが表示されます。私は、UIStoryboardの有無にかかわらず、ARCありとなしでテストしました。本当に奇妙です。オブジェクトは正しくインスタンス化されているようです。 - (id)initが呼び出され、 - (void)awakeFromNibも呼び出されます。 test-xibでは、オブジェクトを追加し、それをカスタムクラスで配線しました。私はIBOutletを問題なく配線することができます。アクションだけがクラッシュしています。何か案は?カスタムオブジェクトにアクションを送信すると、ios5.1でアプリケーションがクラッシュするxcode 4.3.1
SimpleObj.m
#import <UIKit/UIKit.h>
@interface SimpleObj : NSObject
-(IBAction)simpleTest:(id)sender;
@end
SimpleObj.h
#import "SimpleObj.h"
@implementation SimpleObj
-(IBAction)simpleTest:(id)sender{
NSLog(@"Test");
}
@end
NSZombieEnabledでテストすると、カスタムオブジェクトが既にリリースされていることがわかります。したがって、カスタムオブジェクトはインスタンス化され、すぐに解放されます。このカスタムオブジェクトを保持する唯一の方法は、ファイル所有者を参照することです。 – fragglechen
自分で見つけたので、問題はIBActionコードではなく、オブジェクトの初期化と使用にあります。この質問に答えるために関連するコードを投稿するべきでしょう。 – Mundi
@fragglechen、右、ローカル変数は解放されるか漏れされ、参照は無効になります。 –