【发布时间】:2010-05-19 19:46:55
【问题描述】:
我编写了一个 Objective-C 框架,它使用 NSMutableString 构建了一些 HTML 代码,该代码将值作为 NSString 返回。
我已经在接口 .h 文件中声明了一个 NSString 和 NSMutableString:
NSString *_outputLanguage; // Tests language output
NSMutableString *outputBuilder;
NSString *output;
这是来自框架实现的示例 .m 代码(我无法打印实际代码,因为它是专有的):
-(NSString*)doThis:(NSString*)aString num:(int)aNumber {
if ([outputBuilder length] != 0) {
[outputBuilder setString:@""];
}
if ([_outputLanguage isEqualToString:@"html"]) {
[outputBuilder appendString:@"Some Text..."];
[outputBuilder appendString:aString];
[outputBuilder appendString:[NSString stringWithFormat:@"%d", aNumber]];
}
else if ([_outputLanguage isEqualToString:@"xml"]) {
[outputBuilder appendString:@"Etc..."];
}
else {
[outputBuilder appendString:@""];
}
output = outputBuilder;
return output;
}
当我编写一个文本程序时,NSLog 只是简单地打印出“(null)”。我在那里写的代码是:
TheClass *instance = [[TheClass alloc] init];
NSString *testString = [instance doThis:@"This String" num:20];
NSLog(@"%@", testString);
[instance release];
我希望这是足够的信息!
【问题讨论】:
标签: objective-c frameworks nsstring nsmutablestring