2015-06-03 105 views
2

我有一个小挑战。我使用下面的代码来连接一个NSString。在控制台上输出很好,在设备上它不起作用。我似乎无法弄清楚我错过了什么。NSString concat不能在设备上工作

- (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: 
+0

这将是有益的,如果你还可以打印上所有的警告变量showLeap和selectedMenu –

+0

打开的内容,并检查什么,编译器会告诉你。 – gnasher729

回答

0

我发现了一个解决方案。这有点奇怪,[NSString stringByAppendingString ...]方法在设备上一直返回nil。这是我使用[NSString stringWithFormat ...]方法的解决方案;

int showLeap = selectedLeap +1; 
NSString *first = @"leap"; 
NSString *second = @""; if (showLeap<10) { [email protected]"0";} 
NSString *third = [NSString stringWithFormat:@"%d", showLeap]; 
NSString *fourth = selectedMenu; 
NSString *getHTML = [NSString stringWithFormat: @"%@%@%@%@", first, second, third, fourth]; 
NSLog(@"getHTML complete: %@", getHTML); 
+0

你见过'NSMutableString'吗? – Droppy

+0

你是绝对正确的。我应该把getHTML变成一个mutableString。在我最初的问题中,我只是重写NSString。这将解决它。 –

+0

另一个问题是'getHTML'在你的答案中是本地的,但在你的问题中是一个实例(或全局)。 – Droppy

相关问题