Я думаю, что обзор некоторых основных концепций объектно-ориентированного программирования в порядке;а именно различие между классом и объектом или экземпляром.
Класс в общем смысле представляет собой набор данных и функций, которые на него воздействуют.Класс определяет интерфейс, который используется для доступа и манипулирования данными, которые логически сгруппированы вместе, и служит образцом для создания объектов или экземпляров.См. http://en.wikipedia.org/wiki/Class_(computer_programming)
Экземпляры класса (объекты) - это типичные вещи, которыми вы манипулируете в объектно-ориентированной программе, и они создаются из класса "blueprint" и следуют поведению, заданному классом.
Типичный пример - фрукты, например, яблоки.Воображаемый класс Apple будет представлять все яблоки в общем смысле и будет моделировать такие свойства, как цвет и размер, а также такие действия, как мыть и есть.Экземпляр мог бы представлять одно физическое яблоко - Бабуля Смит или Пиппин или что-то еще.
Так же, как нет смысла мыть или есть яблоки в общем смысле этого слова (концепция яблок).а не агломерация), как правило, не имеет смысла говорить классу, что делать.Вы говорите объектам (отдельным яблокам), что делать.
Код, представленный выше, определяет класс Images.Знак "-" перед - (void) указывает, что метод рисования существует только для определенных объектов.Это типовой метод на обычном языке OO.
Конечно, в Obj-C также можно отправлять сообщения классу, не требуя объекта.Это обозначается знаком «+» перед именем метода, как указывают другие ответы.Это называется статическим методом и обычно используется для управления некоторым общим поведением или аспектом всех объектов этого конкретного класса.
Проблема с вашим кодом заключается в том, что вы объявляете - (void) draw как метод экземплярано вызывая его как статический метод.Какой способ вы хотите сделать, зависит от вас, и по вашему коду сложно определить, для чего предназначен класс Images.