Re: Вопрос по Objective-C
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 25.04.11 16:45
Оценка: 3 (1)
Здравствуйте, ZigaZaga, Вы писали:

ZZ>Видимо не надо пытаться расширять класс у которого только статические инициализаторы? но как мне тогда хранить признак цвета?


Видимо расширить его тебе не удастся. Если бы тебе нужно было добавить методов, то вполне подошли бы категории, но вот добавить члены в класс они, к сожалению, не позволяют. Зато ты можешь инкапсулировать объект класса MKPolygon и NSColor в своем собственном классе и работать уже с ним.
Вопрос по Objective-C
От: ZigaZaga  
Дата: 25.04.11 16:15
Оценка:
Добрый день.

Не знал в какую тему поместить вопрос — так что пишу здесь.

Есть класс MKPolygon из MapKit и у этого класса нет НЕ СТАТИЧЕСКИХ методов для создания этого объекта:

Creating a Polygon Overlay
+ polygonWithPoints:count:
+ polygonWithPoints:count:interiorPolygons:
+ polygonWithCoordinates:count:
+ polygonWithCoordinates:count:interiorPolygons:



А я хочу расширить этот класс, добавив ему поле, которое будет хранить значение цвета.
и мой НЕ СТАТИЧЕСКИЙ метод создания выглядит примерно так:

self = [super init];
self = [MKPolygon polygonWithCoordinates:coords count:count];
self.color = [UIColor redColor];
return self;


но естественно после второй строчки self меняется, и начинает указывать на объект типа MKPolygon и никак не ColorPolygon.

Видимо не надо пытаться расширять класс у которого только статические инициализаторы? но как мне тогда хранить признак цвета?

заранее спасибо!
Re[2]: Вопрос по Objective-C
От: ZigaZaga  
Дата: 25.04.11 19:12
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, ZigaZaga, Вы писали:


ZZ>>Видимо не надо пытаться расширять класс у которого только статические инициализаторы? но как мне тогда хранить признак цвета?


KP>Видимо расширить его тебе не удастся. Если бы тебе нужно было добавить методов, то вполне подошли бы категории, но вот добавить члены в класс они, к сожалению, не позволяют. Зато ты можешь инкапсулировать объект класса MKPolygon и NSColor в своем собственном классе и работать уже с ним.


Огромно спасибо!

Инкапсулировать не получиться, но не важно сделаю по-другому.

А я же правильно понимаю, в С++ прокатило бы такое наследование?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.