Bon*_*geh 1 string iphone cocoa objective-c nsstring
好的,所以我从在线数据源中提取给定邮政编码的地址列表.请求向我发送了一个数组数组的JSON,在数组的第一层内是字符串数组.
这些包含例如.
Addressline1, Addressline2, Town, Country, Postcode
Run Code Online (Sandbox Code Playgroud)
我需要为每个地址添加所有这些字符串,这样我每个地址只有一个工作字符串.但是,有时@""阵列中有一个空白字段.
这是我的for循环.
id object;
NSString *startString = [NSString stringWithString:@"testStart:"];
for (object in arrayContainingAddress) {
NSString *useableString = [NSString stringWithFormat:@"%@", object];
if (![useableString isEqualToString:@""]) {
NSLog(@"%@", useableString);
[startString stringByAppendingString:useableString];
NSLog(@"%@", startString);
}
}
NSLog(@"%@", startString);
Run Code Online (Sandbox Code Playgroud)
问题是,startString总是以'testStart:'结尾注销,但useableString记录包含正确的地址,城镇等,for循环中的startString NSLog也只是注销为'testStart:'.
整个代码块都位于while循环中,该循环为每个地址切换适当数组的'arrayContainingAddress'.
"id对象"的原因是我的JSON转换有时会将值转换为NSNumbers(地址的第一行可能是门牌号,例如123),因此我在此处防止崩溃.
TLDR:在我的for循环中没有附加字符串'startString'.
stringByAppendingString对调用它的字符串没有任何作用.它返回一个新的自动释放字符串,它是两者的串联.
你想要做的是使你的startString成为一个可变的字符串:
NSMutableString *startString = [NSMutableString stringWithString:@"testStart:"];
Run Code Online (Sandbox Code Playgroud)
然后使用appendString方法:
[startString appendString:useableString];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |