程序在设置ivar时接收SIGABRT

时间:2011-08-26 01:34:50

标签: objective-c

[[self numSidesBox] setName: @"numSidesBox"];

这行代码收到SIGABRT信号,我不知道为什么。 numSidesBox是我的UITextField子类的一个实例。我有一个使用

的NSString ivar
@property (nonatomic, retain) NSString *name;

创建setter / getters的方法。我不知道是什么导致了这个问题。

1 个答案:

答案 0 :(得分:0)

为什么不尝试:

self.numSidesBox.name=@"numSidesbox"

这假设您的numSidesBox标题中包含以下内容:

@property (nonatomic, retain) NSString*name;

并在你的.m:

@synthesize name;

这只是让你开始并指出正确方向的一般想法;您可能更喜欢retain以外的其他内容,并且还需要在当前.h / .m中类似地合成的numSidesBox对象,以便在其上使用点符号。

此外,仅仅因为numSidesBox有一个ivar,并不意味着它实际存在于内存中。在使用它之前,您必须在某些时候使用allocinit或自定义或专用初始化程序对其进行初始化。