我目前正在阅读的书让我编写以下代码:
-(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..];
我希望我很好地解释了我的问题。如果没有,我总是可以进一步详细说明。