Объяснение сильного и слабого хранения в iOS5

Я новичок в разработке iOS5 и использовании objective-c. Мне трудно понять разницу между сильным и слабым хранением. Я читал документацию и другие вопросы в SO, но все они звучат одинаково и не дают мне никакого представления.

Я прочитал документацию: Transitioning To ARC - она ссылается на термины iOS4: retain, assign, and release; что сбивает меня с толку. Затем я смотрю в Open U CS193p, где он различает сильные и слабые:

Сильные: "хранить это в куче, пока я больше не буду на него указывать"
Слабый: "хранить это до тех пор, пока кто-то другой не укажет на него"

Разве эти два определения не идентичны: если указатель больше не указывает на объект, то освободить память, в которой хранится объект? Я понимаю концепцию указателей, кучи, выделения или деаллокации памяти - но в чем разница между strong и weak?

114
задан nhgrif 5 April 2015 в 23:29
поделиться