2009-03-17 6 views
1

Ich versuche, durch eine NSArray zu durchlaufen und halten einen Compiler-Fehler richtig hinzubekommen, wenn ich versuche, den Inhalt meines Array an Position Instanz ich zu meinem NSMutableString verketten ..Verketten NSArray Inhalte mit NSMutableString AppendString

Es sagt nur mir, dass es einen "Syntaxfehler vorher" gibt; Das sagt mir nicht viel. in dieser Zeile:

[output appendString:[widget.children objectAtIndex:i]; 

ich dort weiß etwas mit meiner Syntax ..

meine Funktion ist

- (NSString *)readArray 
{ 
    NSMutableString *output = [[NSMutableString alloc] init]; 
    int i; 
    int arraySize = widget.children.count; 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    for (i = 0; i < arraySize; i++) 
    { 
     [output appendString:[widget.children objectAtIndex:i]; (throws error here) 
    } 
    [pool release]; 
    return output; 

} 

Dank im Voraus

Antwort

4

Sie ein wie folgt haben muss nicht geschlossene Klammer
Sie brauchen ]] am Ende statt ]

+0

FRAKK mich .. du hast Recht .. doh! Danke! – Dave

13

NSArray hat eine Methode, die genau das tut, was Sie auch tun:

- (NSString *)readArray { 
    return [widget.children componentsJoinedByString:@""]; 
} 

Auch wenn Sie diese Funktion ziemlich häufig in einer engen Schleife sind Aufruf gibt es nicht viel Vorteil zu haben, es seinen schaffen 'eigener Autorelease-Pool.