Пара вопросов Obj-C - PullRequest
       1

Пара вопросов Obj-C

0 голосов
/ 05 июня 2011

РЕДАКТИРОВАТЬ: мой Интернет вышел прошлой ночью ._.

Ну, я новичок в этом языке. Я получил некоторые основы, но:

  1. -(XYPoint *)origin

    В этом, почему возвращаемое значение для этого метода выглядит как указатель? Я не совсем понимаю. Я знаю, что такое void, id, double и т. Д., Но я не понимаю, почему здесь указатель.

  2. Я просматривал книгу Коханов и попал в программу.

    myRect.origin = myPoint 
    
    NSLog(@"origin:(%i,%i)",myRect.origin.x,myRect.origin.y)
    

Или что-то в этом роде.

Но после NsLog я выпустил релиз. Затем снова вызвали источник, но он все еще был напечатан. Разве это не должно было дать ошибку?

Позже я напечатал другой NSLog, вызывающий другую переменную, затем после этого я снова вызвал источник, но на этот раз мне выдали ошибку, хотя я этого не сделал, когда пытался вызвать ее после выпуска. Извините, если это кажется расплывчатым, но я уточню, если нужно.

1 Ответ

0 голосов
/ 05 июня 2011
  1. Просто потому, что тип возвращаемого значения является типом указателя, поэтому он обозначен как возвращающий указатель.

    Обратите внимание, что все можно превратить в тип указателя, в котором возвращается указатель, а не объект, на который он указывает в памяти, но это, вероятно, нечто более продвинутое, чем просто классы Objective-C.

  2. Освобождение не всегда означает, что объект освобождается сразу. Это может быть мгновенно, или через секунду, или несколько, что это действительно происходит. Или, если объект был сохранен в другом месте, он еще не был освобожден.

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