NSArray и NSString

В книге, которую я сейчас читаю, я должен написать следующий код:

-(IBAction)displaySomeText:(id)sender {
    NSString *cow = @"Milk";
    NSString *chicken = @"Egg";
    NSString *goat = @"Butter";

    NSArray *food = [NSArray arrayWithObjects:cow, chicken, goat, nil];

    NSString *string = @"The shopping list is: ";
    string = [string stringByAppendingString:[food componentsJoinedByString:@", "]];

    [textView insertText:string];

}

Я немного понимаю, как работают массивы, но мне нужна помощь в понимании следующего кода

string = [string stringByAppendingString:[food componentsJoinedByString:@", "]];

Я никогда не видел пример, где это возможно.

Он попросил меня создать объект «строка» из класса NSString , а затем я делаю это

string = [string stringByAppendingString:];

Я в замешательстве.Я никогда не видел примера, когда я создаю объект, а затем выполняю метод для того же объекта и сохраняю его в том же самом объекте.

Например, я знаю, что могу это сделать

NSSound *chirp;
chirp = [NSSound soundNamed:@"birdChirp.mp3"];

вышесказанное имеет смысл, потому что я использовал созданный объект и выполнил для него метод класса.

но я всегда предполагал, что эквивалент следующего кода НЕ был возможно

chirp = [chirp methodNameEtc..];

Надеюсь, я хорошо объяснил свой вопрос. В противном случае я всегда мог бы уточнить.

5
задан Kevin 3 December 2011 в 02:11
поделиться