1.assign是指针赋值,不对引用计数操作,使用之后如果没有置为nil,可能就会产生野指针;而weak一旦不进行使用后,永远不会使用了,就不会产生野指针! 2.weak只对对象类型时使用。assign只对基础数据类型时使用