Как я могу передать структуру в NSOperation Init - PullRequest
0 голосов
/ 15 сентября 2011

Я хочу знать, как я могу передать указатель на структуру в пользовательский метод init nsoperation.Кажется, ожидается, что будет передан элемент типа ID.

Возможно ли это сделать?

typedef struct mystruct

{
   int a;
   int b;

}mystruct;

mystruct myitem;


MyNSOperation *op=[[MyNSOperation alloc]initwithdata:myitem]; //can't do this, not of type id


-(id)initwithdata:(mystruct *)thestruct

{


}

Ответы [ 2 ]

1 голос
/ 15 сентября 2011

Если вы хотите передать структуру как объект, вы можете использовать NSData

NSData *data = [NSData dataWithBytes:&myitem length:sizeof(myitem)];    

и вернуть ее обратно в структуру с помощью

[data getBytes:&myitem length:sizeof(myitem)];

Это не зависит от архитектуры.

1 голос
/ 15 сентября 2011

Ваш метод инициализации должен выглядеть следующим образом:

-(id)initwithdata:(mystruct)thestruct

{


}

Или вы должны передать ссылку на вашу структуру:

MyNSOperation *op=[[MyNSOperation alloc]initwithdata:&myitem];

Выбирай с умом.

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