解決辦法如下。此處還不能直接把__unsafe_unretained放在創(chuàng)建person對(duì)象的那一行。因?yàn)槿绻菢拥脑?,這個(gè)person對(duì)象是一個(gè)弱指針指向的,一出生就死了。引入弱指針person0的目的就是block代碼里的person0回指對(duì)象時(shí),是弱引用,這樣就不會(huì)出現(xiàn)2個(gè)強(qiáng)引用互相指著。也可以用__weak。
Person *person=[[Person alloc]init];
__unsafe_unretained Person *person0=person;
person.blockName=^{
person0.age=20;
};
具體在這個(gè)鏈接有block的相關(guān)用法