好吧,所以我拉从一个在线数据源给定的邮政编码地址列表。请求向我发送一个数组数组的JSON,在数组的第一层中是字符串数组。麻烦appendStrings(NSString)for循环
这些包含例如。
Addressline1, Addressline2, Town, Country, Postcode
我需要为每个地址添加所有这些字符串,以便每个地址只有1个工作字符串。但是,有时在数组内有一个空白字段@""
。
这是我的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);
问题是,startString总是在结束与注销“testStart:”,但useableString日志包含正确的addressline,镇等,将startString的NSLog中的for循环也只是注销为“ testStart:”。
这整段代码都放在一个while循环中,它为每个地址的适当数组切换'arrayContainingAddress'。
'id对象'的原因是我的JSON转换有时会将值转换为NSNumbers(地址的第一行可能是房屋号码,例如123),所以我在这里防止崩溃。
TLDR:字符串'startString'没有被追加到我的for循环中。
谢谢你,你的回答是正确的,但是我要给marzapower奖励'green tick',因为他的积分较少。 – Bongeh 2011-05-25 08:52:59
你不应该。 @Amorya的解决方案效率更高,因为它使用'NSMutableString'来附加字符串,这导致更有效的内存使用,尤其是当您重复添加** lot **字符串时。 – marzapower 2011-05-25 08:55:32
啊,好的,那么多亏了你们:) – Bongeh 2011-05-25 08:56:36