当我尝试我的 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,只是为了在 NSlog 中显示返回答案
- (NSString *) trackNumber{
return [track getTrackNumberUrl:@"86147224549XX"];
}
- (void)drawRect:(CGRect)rect {
NSLog(trackNumber);
}
我得到一个空返回答案?我错过了什么吗?谢谢。
在 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];
}
这就是它应该如何工作的方式。
getTrackNumberUrl --> setTrackNumberUrl --> trackUrl (return) --> setTrackNumberUrl + trackNumber --> getTrackNumberUrl (trackNumberUrl = trackUrl + trackNumber)
我有这段代码来设置对 Track 的引用
@class Track;
@interface MainView : UIView {
Track *track;
}
@property (nonatomic, retain) IBOutlet Track *track;
那么如果不应该使用自我分配,我应该使用什么?