Вопрос

Я совершенно новичок в Objective-C, и, как я учусь, я пытался сделать свою собственную программу. Идея есть ли переменная (или объект?) totalSave, метод addToTotalSaved с параметром saveAmount, и несколько объектов (каждый объект даст параметр saveAmount другое значение), которое приведено на действие addToTotalSaved быть «отправленным» или чем -то вроде терминологии, чтобы totalSave чтобы totalSave увеличивается на правильную сумму.

Прежде всего, если мое представление о том, как работает код совершенно неправильный, не могли бы вы предложить лучший способ? ... Я чувствую, что это не должно быть сложным - но в остальном мой вопрос в том, что должно totalSave быть? Int? Nsinteger? Объект?

Это было полезно?

Решение

Это звучит так, как будто вы сделали это слишком сложным. Очевидно, что идея не совсем «есть переменная, названная totalSave«Поскольку пользователь может меньше заботиться о том, где вы его храните, и с остальной части вашего поста вам на самом деле не волнует, как вы его храните.

Тем не менее, чтобы сделать это немного более конкретным, давайте подумаем о состоянии «полной оценки», которое могут добавить многочисленные части программы. Есть несколько подходов, которые вы можете выбрать. В любом случае, у вас, вероятно, есть какой -то объект где -то, что отслеживает счет. Мы назовем это Game объект, но это может быть Level или что -то еще.

Итак, есть три больших школа мысли: вы можете пройти это Game объект для всех, у вас может быть Game Синглтон, или вы можете использовать уведомления. Каждый из этих подходов имеет преимущества, и любой, кто вы выберете, вероятно, подходит для простой программы (лично, для очень простой программы, я бы использовал Singleton).

В первой схеме, в какой -то момент в программе вы создаете Game объект, у которого есть некоторые addToScore: метод Вы назначаете этот объект как свойство на любой другой объект, который должен обновить счет. Каждый из этих звонков [self.game addToScore:value]. Анкет Этот подход делает модульное тестирование немного проще, но может быть немного утомительным, чтобы реализовать.

Во второй схеме у вас есть Общий Синглтон +[Game sharedGame]. Анкет Когда вы хотите обновить счет, позвоните [[Game sharedGame] addToScore:value]. Анкет Как правило, это Eastiet для реализации.

В третьей схеме у вас есть какой -то объект (Game) это использует NSNotificationCenter Наблюдать за некоторым уведомлением. Если вы хотите обновить счет, вы просто разместите уведомление, которое включает сумму для добавления в его пользовательский словарь. Это отлично подходит для того, чтобы сохранить вещи чрезвычайно развязанными, но опять же может быть немного утомительным в более обычном случае.

Но, как отмечает @Chuck, вы, вероятно, переживаете это, и вы можете вернуться и проработать некоторые учебники, чтобы лучше понять, как обычно работают эти вещи. Такая ситуация, которую вы описываете, не очень сложна.

Другие советы

Похоже, вам нужен класс, содержащий целочисленное значение с общим количеством. Тогда вы хотите дать этому классу функцию addtototal (Somenum).

Возможно, вы могли бы сделать это все процедурно, но если вы хотите повторно использовать эту общую сумму, я бы порекомендовал набить его в классе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top