好吧,所以我拉從一個在線數據源給定的郵政編碼地址列表。請求向我發送一個數組數組的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