Назначение структуры в другом классе - PullRequest
1 голос
/ 18 апреля 2010

У меня есть структура в ClassA и я хочу присвоить ее одной и той же структуре в ClassB (две структуры одинаковы с разными именами). ClassA и ClassB являются контроллерами представления. По сути, мне нужно передать эту структуру в другой класс. Тем не менее, структуры, кажется, не выставляются как члены, а это значит, что я не могу получить к ним доступ. Вот структура ClassA, объявленная в заголовочном файле:

typedef struct {
NSString *startDate;
NSString *endDate;
NSString *classId;
}  selectedItemsClassAStruct;

selectedItemsClassAStruct selectedItemsClassA;

и то же самое для ClassB (только с замененным текстом ClassA)

Не отображается в подсказках кода для ClassB. Я вижу эту ошибку, если пытаюсь получить к ней доступ:

request for member 'selectedItemsClassBStruct' in something not a structure or union

Как это сделать?

Ответы [ 2 ]

1 голос
/ 18 апреля 2010

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

Этот трюк используется Какао для преобразования NSRect в CGRect, например.

Я рекомендую прочесть хороший пост на тему, написанную Мэттом Галлахером .

0 голосов
/ 19 апреля 2010

Мэтт Галлахер описывает, как (безопасно) реализовать свойства для структур в этой публикации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...