Итак, я занят чтением книги с объективной книгой от Big Nerd Ranch. Я нахожусь в главе 17 на данный момент и сумел завершить требуемый вызов в конце главы. Однако у меня есть только два вопроса, которые я хотел бы понять.Почему мы создаем экземпляры классов для циклов?
В следующем фрагменте кода - StockHolding - это пользовательский класс с переменными экземпляра и запасами (массив), указывающий на три экземпляра пакета акций со значениями, устанавливающими его стоимость акций и стоимость в долларах.
Сначала я попытался получить доступ к массиву, чтобы получить данные от объектов, на которые он указал, но, похоже, что это не сработает, поскольку массив не знает, какие данные содержат его объекты - именно там, где они находятся памяти, правильно?
Что я хочу знать, почему было необходимо создать новый экземпляр акций (холдингов) в этом цикле для доступа к этим переменным? Как новый экземпляр акционерного капитала знает, каковы ценности моих акций?
for (StockHolding *holdings in stocks){
NSLog (@ "%@ has %d shares. Cost: $%.2f. Stock value: $%.2f", [holdings stockName],[holdings numberOfShares], [holdings costInDollars], [holdings valueInDollars]);
}
Я собираюсь попытаться угадать здесь, чтобы узнать, может быть, я понимаю это немного лучше?
Мы создаем экземпляр нашего класса в цикле for так, чтобы у нас был доступ к его методам и переменным экземпляра - тогда мы используем массив запасов, чтобы получить переменные от этих объектов в массиве?
я могу быть полностью выключен .. :(
Любые советы?
сейчас новый экземпляр создается здесь в вашем цикле for – amar
Вы неправильно поняли. В цикле не создаются новые экземпляры. Вы просто создаете переменную, которая указывает на каждый существующий объект в массиве. – rmaddy