copy操作之后是一个不可变对象
mutableCopy操作之后是一个可变对象
深拷贝:内容拷贝,产生了新对象。
浅拷贝:指针拷贝,没有产生新对象。
引用计数可以直接存储在优化后的isa指针中,也可能存储在SideTable类中。
struct SideTable {
spinlock_t slock;
RefCountMap refcnts;
weak_table_t weak_table;
};
refcnts是一个存放着对象引用计数的散列表。
copy操作之后是一个不可变对象
mutableCopy操作之后是一个可变对象
深拷贝:内容拷贝,产生了新对象。
浅拷贝:指针拷贝,没有产生新对象。
引用计数可以直接存储在优化后的isa指针中,也可能存储在SideTable类中。
struct SideTable {
spinlock_t slock;
RefCountMap refcnts;
weak_table_t weak_table;
};
refcnts是一个存放着对象引用计数的散列表。
本文标题:copy、mutableCopy
本文链接:https://www.haomeiwen.com/subject/miklvktx.html
网友评论