![]() |
1
1
不,你根本不能重新申报艾瓦尔。但是,您可以创建一个新的基于方法的属性,而无需创建新的ivar。
|
![]() |
2
0
@上课一点意义都没有。。。应该是@interface。所以第一个错误是纯粹的语法错误。 不,你不能改变ivar的类型。这有一个很好的原因:缩小范围(就像你做的那样)是行不通的,因为父类可能依赖于不同的实现。扩大它不能起到同样的作用(主要是因为类似的原因)。 |
![]() |
3
0
如果编译器说“不”,那就是你的答案。我将使用访问器:
在
直接访问ivar并不明智。我会重新考虑你的班级设计。有一个易变和不变的人的版本的理由是什么? |
![]() |
4
0
我结束了重写setter以断言所设置的对象属于适当的类型,并创建了一个新的只读getter,如下所示:
|
![]() |
WkWk · Apple Watch动作通知不起作用 3 年前 |
![]() |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 3 年前 |
![]() |
Nico Passaglia · 移动键盘向上移动站点 7 年前 |