我初始化通过视图(图片):我的变量在哪里? Objective-C的
Image *myImageView = [[Image alloc]init];
myImageView.myId = randomImageNumber;
[myImageView initWithImage:myImage];
在图像类我做一个日志(LOG1),并得到了预先设定的randomImageNumber。 后来,在同一个类中,我做了第二个日志(LOG2)。 为什么我的第二个日志没有价值了?
这里一流形象的我的执行文件:
@synthesize myId;
-(id) initWithImage: (UIImage *) anImage
{
NSLog(@"LOG1%d",myId);
if ((self = [super initWithImage:anImage]))
{
self.userInteractionEnabled = YES;
}
return self;
}
}
-(void)touchesBegan...
....
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"LOG2%d",myId);
}
的“回归自我”清空身份识别码,我在头文件中声明,并且被定为初始化。 我该如何预防?
我Headerfile看起来是这样的:
@interface Image : UIImageView
{
int myId;
}
@property (assign) int myId;
@end
好吧,我想这种初始化的,但在这种情况下,即使我的第一个日志没有给我一个值 - >只是0就像你说的。我怎么能初始化我的图像类,而不会失去我的头(声明的图像类)声明的实例变量? – algro 2010-10-15 12:37:51
@algro第一个日志*应该给出0.实例变量在初始化之前总是空的 - 它们不能在接口中给出值,只能声明。你应该发布头文件中的内容,因为这听起来像是有一些误解。 – walkytalky 2010-10-15 12:57:51
好的,我发布了我的头文件...第一个日志是否为0并不重要。只有在触及 - > LOG2时才需要它。那时该值应该设置为否? – algro 2010-10-15 13:05:29