Question

J'Initialiser une vue (image) par:

Image *myImageView = [[Image alloc]init];
    myImageView.myId = randomImageNumber;
    [myImageView initWithImage:myImage];

A la classe Image je fais un journal (LOG1) et obtenir le randomImageNumber précédemment défini. Plus tard, dans la même classe, je fais un deuxième Log (LOG2). Pourquoi mon second journal ne plus aucune valeur?

Voici mon implémentation fichier de l'image Classe:

@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);
}

Les bouteilles vides « auto » de retour myid que je déclarais dans l'en-tête et le fichier qui a été créé à l'initialisation. Comment prévenez-je cela?

mes regards Headerfile comme ceci:

@interface Image : UIImageView 
{
   int myId;
}
@property (assign) int myId;

@end
Était-ce utile?

La solution

Couple choses dans votre code. jamais appeler initialisation plus d'une fois sur un objet, qui se dévisse votre objet.

Modifier à ceci:

Image *myImageView = [[Image alloc] initWithImage:myImage];
myImageView.myId = randomImageNumber;

C'est votre problème, par défaut lors de l'initialisation d'une sous-classe de NSObject, toutes les propriétés sont mises à 0 (ou nil si elles sont des pointeurs).

Si vous avez besoin d'avoir une valeur par défaut pour myId faites ceci:

// Image.m

@implementation

// other code

-(id) initWithImage:(UIImage *) image
{
    if (self = [super initWithImage:image])
    {
         self.myId = randomImageNumber;
    }

    return self;
}

// other code

@end

Autres conseils

Je pense que je l'ai trouvé:

https: / /www.google.com/maps/place/Variable/@53.626739,10.025728,17z/data=!3m1!4b1!4m2!3m1!1s0x47b1885360fab615:0x584b82c7dfb5f612

Pouvez-vous vérifier si cette variable est la vôtre?

besties phil

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top