NSString concat 在设备上不起作用
Posted
技术标签:
【中文标题】NSString concat 在设备上不起作用【英文标题】:NSString concat doesn't work on device 【发布时间】:2015-06-03 11:18:45 【问题描述】:我有一个小挑战。我正在使用以下代码来连接 NSString。在控制台上输出很好,在设备上它不起作用。我似乎无法弄清楚我错过了什么。
- (void)loadContent
gethtml = @"leap";
NSLog(@"getHTML start: %@", getHTML);
int showLeap = selectedLeap +1;
NSString *leapString = [NSString stringWithFormat:@"%d", showLeap];
if (showLeap<10)
getHTML = [getHTML stringByAppendingString:@"0"];
getHTML = [getHTML stringByAppendingString:leapString];
getHTML = [getHTML stringByAppendingString:selectedMenu];
NSLog(@"getHTML complete: %@", getHTML);
在模拟器上的输出是:
2015-06-03 12:11:57.619 ios_TWW_EVOLUTION[917:582733] getHTML start: leap
2015-06-03 12:11:57.621 iOS_TWW_EVOLUTION[917:582733] getHTML complete: leap01_summary
在设备上的输出是:
2015-06-03 12:15:40.341 iOS_TWW_EVOLUTION[917:582733] getHTML start: leap
2015-06-03 12:15:40.346 iOS_TWW_EVOLUTION[917:582733] getHTML complete: getHTML complete:
【问题讨论】:
如果您还可以打印变量 showLeap 和 selectedMenu 的内容会很有帮助 打开所有的警告并检查编译器告诉你的内容。 【参考方案1】:我找到了解决方案。 [NSString stringByAppendingString... ] 方法在设备上不断返回 nil 有点奇怪。这是我使用 [NSString stringWithFormat...] 方法的解决方案;
int showLeap = selectedLeap +1;
NSString *first = @"leap";
NSString *second = @""; if (showLeap<10) second=@"0";
NSString *third = [NSString stringWithFormat:@"%d", showLeap];
NSString *fourth = selectedMenu;
NSString *getHTML = [NSString stringWithFormat: @"%@%@%@%@", first, second, third, fourth];
NSLog(@"getHTML complete: %@", getHTML);
【讨论】:
你见过NSMutableString
吗?
你是绝对正确的 Droppy。我应该把 getHTML 变成一个 mutableString。在我最初的问题中,我只是继续覆盖 NSString。那本来可以解决的。
另一个问题是 getHTML
在您的答案中是本地的,但在您的问题中是一个实例(或全局)。以上是关于NSString concat 在设备上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Xml 音频列表播放器在移动设备上不起作用,并且自动播放不起作用