(1) の方が良いに決まってるだろ。

> [threadString setString:[newDataArray objectAtIndex:i]];
Array から取り出した String を一々コピーしてどうする。