2010-01-15 5 views
0

J'ai cette méthode dans mon fichier de classe Car.h:iPhone UIImage Méthode crashes

@interface Car : NSObject { 
NSString * name; 
UIImage* image; 
} 


+ (id)withName:(NSString *)name withImage:(UIImage *)image; 
@end 

et mon fichier de classe Car.m:

#import "Car.h" 
@implementation Car 
@synthesize name, image; 

+ (id)withName:(NSString *)name withImage:(UIImage *)image { 
Car *newCar = [[[self alloc] init] autorelease]; 

newCar.name = name; 
newCar.image = image; 
return newCar; 
} 

J'ai maintenant MutableArray dans un ViewController où J'ajoute de nouveaux objets Car comme ceci:

[myMutableArray addObject:[Car withName:name withImage:image]; 

Mais il se bloque si l'image est tout sauf nulle. Je peux retourner le nom mais cela ne fonctionne pas avec autre chose que Strings. Pourriez-vous m'aider s'il vous plaît?

Répondre

1

Je présume que l'omission @property est une faute de frappe (il y a aussi un support manquant dans la dernière ligne de code), puisque j'imagine cela jetterait une erreur de compilateur. Comment obtenez-vous l'image? En outre, assurez-vous que vos propriétés sont définies pour conserver, pas seulement assigner.

+0

Vous aviez raison, j'ai fait @property (copie) au lieu de retenir, merci beaucoup tout le monde. – scud

0

Vous ne semblez pas avoir la déclaration @property dans votre fichier d'interface