Не удается преобразовать указатель при чтении размера фрейма представления

#objective-c #cocoa

#цель-c #cocoa #objective-c

Вопрос:

Я использовал приведенный ниже код, чтобы прочитать размер NSView

 NSSize size =[[myView frame] size];
  

но Xcode сообщил об ошибке

 can not convert a pointer
  

Ответ №1:

frame возвращает NSRect , который является структурой, а не объектом. Вы не можете отправить сообщение в структуру. Вы хотите:

 NSSize size = [myView frame].size;
  

Или, возможно, более ясный:

 NSRect rect = [myView frame];
NSSize size = rect.size;
  

Ответ №2:

-frame Метод возвращает структуру, в которой есть NSSize нужный вам элемент. Попробуйте вместо этого:

 NSSize size = [myView frame].size;