assign:'設置方法'只會針對「純量類型」如CGFloat、NSInteger等
strong:表明「擁有關系」,此種屬性賦新值時,設置方法先保留新值,并釋放舊值,然后將新值賦上
weak:「非擁有關系」,設置此種屬性新值時候,既不保留新值,也不釋放舊值,此點類似assign,在屬性所指向的對象遭到銷毀時候,屬性值會被置為nil,清空
copy:不保留新值,將其復制,防止對象在不知情情況下遭到修改
unsafe_unretained :語義和assign相同,適用于「對象類型」,「非擁有關系」,當目標對象遭到摧毀時,屬性值不會自動清空,這點不同于weak