Rust智能指针,用于Objective-C参考计数。
为了确保在适当的时间保留和释放Objective-C对象,我们可以使用Id结构。
要实施别名规则,可以拥有或共享一个Id ; 如果它是拥有的,则意味着Id是对该对象的唯一引用,因此可以可变地取消引用。 拥有的Id可以降级为ShareId,可以对其进行克隆以允许多个引用。
弱引用可以使用WeakId结构创建。
use objc :: runtime :: {Class, Object};
use objc_id :: {Id, WeakId};
let cls = Class :: get ( "NSObject" ). unwrap ();
let obj: Id < Object > = unsafe {
Id :: from_retained_ptr ( msg_send! [cls, new])
};
// ob
评论0
最新资源