2014-01-22 44 views
0

我有一個名爲AllmyData [10] [100000]的數組,並且想要連接每個數組的前3個元素,即Allmydata [1] [i] & Allmydata [2] [i] & Allmydata [3] [I],成一個字符串NSMutableString Array

我已經採用的NSMutableString試過,如下:

NSMutableString *xArray[]= [NSMutableString string]; 

//Create COMPARISSON string 
for (i=0; i< 100000; i++) { 
    [xArray[i] appendstring:AllmyData[1][i]]; 
    [xArray[i] appendstring:AllmyData[2][i]]; 
    [xArray[i] appendstring:AllmyData[3][i]]; 
    NSLog(xArray[i]); 
} 

但是上述方法不工作..

感謝, 亞歷

回答

0

你正在嘗試使用像數組一樣的可變字符串。請嘗試以下操作:

NSMutableArray *array = [NSMutableArray new]; 

for (int i = 0; i < 100000; i++) 
{ 
    NSMutableString *myString = [NSMutableString new]; 
    [myString appendString:AllmyData[1][i]]; 
    [myString appendString:AllmyData[2][i]]; 
    [myString appendString:AllmyData[3][i]]; 

    [array addObject:myString]; 

    NSLog(myString); 
} 

但是,這將導致100,000條日誌語句。你確定你要這麼做嗎?

+0

NSLogNSLog(myString)僅用於調試目的(其中我<10)。我想避免引入額外的變量,但通過它的外觀,我將不得不引入NSArray * FinalString [100000]並將其設置爲等於(myString)。出於好奇,我可以使用NSString作爲c風格的數組爲什麼不能使用NSMutableString? – alex

+0

??????????????? – alex

+0

爲什麼你想把你的結果字符串放入數組中?我不知道爲什麼你要從二維數組到一個字符串到另一個數組......關於不使用可變字符串作爲C風格的數組:我敢肯定,你不應該訪問一個NSString作爲一個C風格的數組。根據[這篇文章](http://www.cocoawithlove.com/2008/08/string-philosophies-char-arrays.html),NSString是如何在內部表現出來的,所以你不應該依賴那工作。如果需要的話,有'characterAtIndex:'方法 - 你應該真的把它當作它的對象。 –