iOS вопросы : Вопрос 1 : 7

Опишите возможные проблемы?
return [obj autorelease];

 

Уважаемые учащиеся ниже Вы сможете увидеть ответ, перед тем, как ответить, пожалуйста, постарайтесь написать для себя ответ на черновике, и только потом сравните наш ответ с Вашим: 

 

 

 

 

Верно ли наше решение?

Ответ:

@autoreleasepool {} - Это некий блок после выхода из которого отправляется сообщение release всем объектам, которым внутри данного блока было отправлено сообщение autorelease.
То есть, если мы внутри авторелизпула отправили объекту сообщение autorelease, то после выхода из него объект релизится! Но не раньше выхода из данного блока.

Дальше что мы знаем: Все системные тики, нажатия кнопок, и вся наша программа в целом находятся внутри авторелизпулов(которые мы не объявляем явно).

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

Если мы возвращенный объект добавим в массив - проблем не будет. До выхода из авторелизпула ретейн каунт равен единице, а при добавлении в массив увеличиться на один и станет равен двум. Ну а после выхода из пула станет равен одному(уменьшение о котором говорилось в начале) НО! если мы просто добавим объект в поле класса, то будет беда! т.к. после выхода из авторелизпула ретейн коунт уменьшиться до нуля и мы в дальнейшем можем обратиться к освобожденной области памяти. Избежать этого можно при необходимости дописав к вызову функции retain

1 балл


© Copyright © 2017 - 2019 Все права защищены. Бесплатное онлайн образование.
  • https://disdik.munabarat.go.id/nusantara/slot/
  • https://dispendik.sidoarjokab.go.id/nuansa/gacor/
  • https://dkpd.grobogan.go.id/jakarta/gacor/
  • https://sbobet88.blog.unsia.ac.id
  • https://pafinusantara.blog.unsia.ac.id/bet88
  • https://idn-poker.blog.unsia.ac.id
  • https://slot777-gacor.blog.unsia.ac.id
  • https://agen-188bet.blog.unsia.ac.id
  • https://situs-slot.blog.unsia.ac.id
  • https://bet88-slot.blog.unsia.ac.id
  • https://2021.kinerja.ekon.go.id/up/slot777
  • https://2021.kinerja.ekon.go.id/halal/bet88
  • https://program-gacor.blog.unsia.ac.id
  • surapati.ac.id
  • untagsby.ac.id
  • kingandiboston.com
  • janeashton.com
  • redbrickcafechester.com
  • villanosdeljazz.com
  • slot