эффект падения снега iphone - PullRequest
0 голосов
/ 14 декабря 2011

Я следую приложениям учебник по снегопаду, но у меня возникает проблема с iOS 5, например, this http://appsamuck.com/images/day9_ScreenShot.jpg

-

 (void)onAnimationComplete:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {

    UIImageView *flakeView = context;

**** Вот в чем проблема: неявное преобразование нецелевого типа указателя c 'void *' в 'UIimageview' запрещено при использовании ARC

Пожалуйста, предложите, как я могурешить эту проблему.

С уважением

enter image description here

1 Ответ

4 голосов
/ 14 декабря 2011

Расширение комментария @fluchtpunkt, который действительно должен был быть ответом;)

ARC работает, определяя, во время компиляции, нужны ли объекты или нет - тогда он обрабатывает ваше сохранение / освобождениедля вас.

Если вы передаете объект как (void *), компилятор не может решить, что ему нужно сохранить этот объект, чтобы он мог быть освобожден, прежде чем вы его используете.

__bridgeявно указывает компилятору, что вы передаете «реальный» объект, но используете для этого void *.

Однако может возникнуть риск утечки памяти, если вы не сообщите компилятору где-то ещечто вы сделали с объектом:)

Взгляните на http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/index.html и найдите ' _bridge', чтобы увидеть больше деталей.

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