我初始化通過視圖(圖片):我的變量在哪裏? 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