Objective c 自定义类在应用程序启动后立即解除分配

Objective c 自定义类在应用程序启动后立即解除分配,objective-c,dealloc,Objective C,Dealloc,我已经在nib文件中添加了一个类对象。所有连接都已完成 但由于某些原因,对象一创建就被释放 代码如下: 控制.h: #import <Foundation/Foundation.h> @interface control : NSObject { IBOutlet UILabel *PlayerScore; } -(IBAction) addPoint: sender; -(void) dealloc; @end 以下是控制台日志: [会议于2010-06-09 19:4

我已经在nib文件中添加了一个类对象。所有连接都已完成

但由于某些原因,对象一创建就被释放

代码如下:

控制.h:

#import <Foundation/Foundation.h>
@interface control : NSObject 
{
    IBOutlet UILabel *PlayerScore;
}
-(IBAction) addPoint: sender;
-(void) dealloc;
@end
以下是控制台日志:

[会议于2010-06-09 19:47:57+1000开始。]
2010-06-09 19:47:58.771应用程序[91100:207]ZOMGWTF

当然,在我点击按钮后,它崩溃了

2010-06-09 19:47:59.703应用程序[91100:207]***-[control]性能选择器:withObject:withObject::消息发送到解除分配的实例0x3843d80


有人有什么想法吗?

试着将控件更改为:

#import <Foundation/Foundation.h>
@interface control : NSObject 
{
    UILabel *PlayerScore;
}
@property (nonatomic, retain) IBOutlet UILabel *PlayerScore;
-(IBAction) addPoint: sender;
-(void) dealloc;
@end
#导入
@接口控制:NSObject
{
UILabel*播放器核心;
}
@属性(非原子,保留)ibuilabel*PlayerScore;
-(iAction)添加点:发送方;
-(无效)解除锁定;
@结束
然后将@synthesis添加到“control”的实现部分


另外,谁引用了NIB中的控件类?

尝试从界面生成器中删除ViewController,并使用文件所有者的作为“控件”

首先,将
@interface-control:NSObject
更改为
@interface-control:UIViewController


有什么变化吗?


啊,你为什么用

-(IBAction) addPoint: sender;
反而

-(IBAction) addPoint:(id) sender;

尝试过,但在运行时仍会取消分配。控件没有连接引用出口。请将引用连接到文件所有者。。。我想你是在用垃圾收集器建造房子。由于没有引用将“control”对象保留到GC,GC正在将其清除。
-(IBAction) addPoint:(id) sender;