繁体   English   中英

为什么使用typeof()创建一个弱引用不需要指针星号?

Why does using typeof() to create a weak reference does not require a pointer asterisk?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我在搜索__weak__block之间的区别

我的旧代码是这样的:

__block GWTSDemandContactsController *safeMe = self;

[GWTSService getSuggestedContactsForDemand:self.demand success:^(NSArray *contacts) {
    safeMe.activityLoading.hidden = true;
    [safeMe setContactsForView:contacts];
} failure:^(NSError *error) {
    safeMe.activityLoading.hidden = true;
}];

然后,当我迁移到使用ARC时,我开始使用__weak ,还发现我可以使用typeof(self)

这非常简单,因此不必每次保存self引用时都写类的名称。 所以现在我的代码看起来像这样:

__weak typeof(self) safeMe = self;

但是为什么我们在这里避免* 这不是对self吗? 避免*我们在这里存储什么?

我不知道我是否想念什么,但我听不懂。

1 个回复

这与所有权说明符无关。 只是typeof(self)已经是一个指针,因为self的类型是“指向GWTSDemandContactsController的指针”,即GWTSDemandContactsController * 完全写出的类型包括*

指向的对象是GWTSDemandContactsController ,但是变量self是指向该对象的指针。

1 如何使用不需要引用特定内容的选项来创建模型结构

我的想法是围绕一种可能应该很简单的设计模式进行的。 我想从一组球员中随机产生一支球队。 每支球队需要一名教练,一名守门员和3-5名球员。 每个玩家只有一种类型。 例如,简始终是一名教练。 杰克总是守门员。 我遇到的问题是我看不到创建不依赖于引用数据库中存在的某些内容实例的模型结构的方法。 我可以 ...

2 当引用不需要时,为什么原始指针需要 const 关键字?

对于已注释掉的行,请参考下面的代码。 它不能被 Rust 编译器编译,这意味着我们需要为 Rust 中的原始指针显式指定像*const i32这样的*const i32 。 但是对于对其指针对象不可变的引用,我们不需要像使用原始指针那样显式指定常量。 那么,为什么 Rust 不使用更对称的方式来表达 ...

2021-04-18 06:53:23 1 88   rust
5 Oracle-如何使用不需要参数的“ and”创建过程

我正在尝试创建一个过程,该过程将扫描表中的所有项目,并且当满足三个条件时,它将更新某个值。 当我指定要更新的内容时,这就是我所拥有的: 用法示例: 但是,我想使该过程扫描整个表并更新它,如下所示: 用法示例: 本质上,如果rating为null并且日期高于当前日 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM