block也經常使用 copy 關鍵字,具體原因見官方文檔:Objects Use Properties to Keep Track of Blocks:
block使用copy 是從MRC 遺留下來的“傳統”,在MRC 中,方法內部的block是在棧區的,使用copy 可以把它放到堆區.在ARC 中寫不寫都行:對於block使用copy還是strong 效果是一樣的,但寫上copy 也無傷大雅,還能時刻提醒我們:編譯器自動對block 進行了copy 操作。
如果不寫 copy ,該類的調用者有可能會忘記或者根本不知道“編譯器會自動對block進行了 copy 操作”,他們有可能會在調用之前自行拷貝屬性值。這種操作多餘而低效。
block使用copy 是從MRC 遺留下來的“傳統”,在MRC 中,方法內部的block是在棧區的,使用copy 可以把它放到堆區.在ARC 中寫不寫都行:對於block使用copy還是strong 效果是一樣的,但寫上copy 也無傷大雅,還能時刻提醒我們:編譯器自動對block 進行了copy 操作。
如果不寫 copy ,該類的調用者有可能會忘記或者根本不知道“編譯器會自動對block進行了 copy 操作”,他們有可能會在調用之前自行拷貝屬性值。這種操作多餘而低效。
留言