2010-06-09 1 views
1

nib 파일에 클래스 객체를 추가했습니다. 모든 연결이 이루어집니다.앱 시작과 동시에 할당 취소 된 맞춤 클래스

하지만 어떤 이유로 객체는 생성되는 즉시 할당이 취소됩니다. 여기

코드입니다 :

control.h :

#import <Foundation/Foundation.h> 
@interface control : NSObject 
{ 
    IBOutlet UILabel *PlayerScore; 
} 
-(IBAction) addPoint: sender; 
-(void) dealloc; 
@end 

control.m :

는 [세션에서 시작 : 여기에

#import "control.h" 
@implementation control 
-(IBAction)addPoint: sender { 
    NSLog(@"Ohhai. Didn't crash."); //Doesn't even make it to this stage. 
    int i = [PlayerScore.text intValue]; 
    PlayerScore.text=[NSString stringWithFormat: @"%d",++i]; 
} 
-(void) dealloc { 
    NSLog(@"ZOMGWTF?"); 
    [super dealloc]; 
} 
@end 

콘솔 로그입니다 2010-06-09 19:47:57 +1000]
2010-06-09 19 : 47 : 58.771 앱 [91100 : 207] ZOMGWTF?

그리고 내가 addPoint 메시지를 보내는 버튼을 클릭하면 물론 충돌합니다. 47 :

2010-06-09 19 59.703 앱 [91100 : 207] *** - [제어부] performSelector : withObject : withObject :] : 할당 해제 메시지 인스턴스에 전송 0x3843d80

합니까 누구든지 아이디어가 있으십니까?

#import <Foundation/Foundation.h> 
@interface control : NSObject 
{ 
    UILabel *PlayerScore; 
} 
@property (nonatomic, retain) IBOutlet UILabel *PlayerScore; 
-(IBAction) addPoint: sender; 
-(void) dealloc; 
@end 

그리고 '통제'의 구현 섹션에 @synthesize를 추가 control.h을 변경

답변

0

시도가되게합니다.

또한 누가 NIB의 컨트롤 클래스에 대한 참조를 가지고 있습니까?

+0

시도했지만 런타임에 여전히 할당이 해제됩니다. 컨트롤에 연결된 참조 콘센트가 없습니다. – tangrs

+0

파일 소유자에 대한 참조를 연결하십시오 ... 가비지 수집기로 구축 중이라고 가정합니다. GC에 'control'객체를 보유하는 것에 대한 참조가 없으면이를 제거 할 것입니다. –

0

Interface Builder에서 ViewController를 제거하고 파일 소유자를 "제어"로 사용하십시오. 이것의

첫째, @interface control : NSObject

@interface control : UIViewController로 변경 아무것도 변경?


아, 왜

-(IBAction) addPoint: sender; 

대신

-(IBAction) addPoint:(id) sender; 

를 사용할 수 있습니까?