Je reçois un retour NULL lorsque j'essaie ma fonction NSString.Fonction NSString
//Track.m
static NSString* trackUrl;
//static NSString* getTrackNumberUrl;
@implementation Track
- (NSString*)trackUrl {
return @"http://site.com/?a=";
}
- (NSString*)setTrackNumberUrl:(NSString*)trackNumberUrl {
if (trackUrl != trackNumberUrl) {
return [trackUrl stringByAppendingFormat:trackNumberUrl];
}
return @"Error no trackNumber";
}
- (NSString*)getTrackNumberUrl:(NSString*)trackNumber {
return [[[self alloc] setTrackNumberUrl:trackNumber] autorelease];
}
@end
MainView.m, juste pour montrer la réponse de retour dans NSLog
- (NSString *) trackNumber{
return [track getTrackNumberUrl:@"86147224549XX"];
}
- (void)drawRect:(CGRect)rect {
NSLog(trackNumber);
}
Je reçois une réponse nulle de retour? Ai-je manqué quelque chose? Merci.
Modifier certains dans Track.m
- (NSString*)setTrackNumberUrl:(NSString*)trackNumberUrl {
if (trackUrl != trackNumberUrl) {
return [trackUrl stringByAppendingString:trackNumberUrl];
}
return @"Error no trackNumber";
}
- (NSString*)getTrackNumberUrl:(NSString*)trackNumber {
return [[[Track alloc] setTrackNumberUrl:trackNumber] init];
}
Voici comment cela devrait fonctionner.
getTrackNumberUrl -> setTrackNumberUrl -> trackUrl (retour) -> setTrackNumberUrl + TrackNumber -> getTrackNumberUrl (trackNumberUrl = trackUrl + TrackNumber)
J'ai ce code pour définir la référence à la piste
@class Track;
@interface MainView : UIView {
Track *track;
}
@property (nonatomic, retain) IBOutlet Track *track;
Eh bien, si vous ne deviez pas utiliser self alloc, que dois-je utiliser?
"Vous devez initialiser trackUrl à zéro." Les variables statiques sont automatiquement initialisées à zéro. – kennytm
Je veux appeler la fonction getTrackNumberUrl dans Track. Le getTrackNumberUrl collecte des informations à partir de setTrackNumberUrl comment obtenir l'URL de base de trackUrl. –
J'ai corrigé que vous écrivez, mais il renvoient toujours nul –