gpt4 book ai didi

cocoa - Cocoa 中继承的、综合的属性的访问器

转载 作者:行者123 更新时间:2023-12-03 16:27:12 25 4
gpt4 key购买 nike

我有两个类(class):几何和圆。 Circle 是 Geometry 的子类。

几何具有综合属性:

界面:

@interface Geometry : NSObject <drawProtocol, intersectionProtocol>
@property int geoLineWidth;

实现:

@synthesize geoLineWidth;

圆是几何的子类。界面:

@interface Circle : Geometry

此代码在 Geometry.m 的 Geometry 方法内进行编译

NSLog(@"%d", geoLineWidth);

此代码在 Circle 方法内无法编译

NSBezierPath * thePath=  [NSBezierPath bezierPath];
[thePath setLineWidth: geoLineWidth];

使用未声明的标识符“geoLineWidth”

但是,此代码可以编译:

[thePath setLineWidth: [self geoLineWidth]];

这种行为是故意的,还是我错过了什么?

最佳答案

这是故意的。您的子类只知道接口(interface)文件的内容(这就是您导入的所有内容,不是吗?),其中您拥有的只是属性声明。这使得编译器没有理由相信存在一个名为 GeoLineWidth 的实例变量。

关于cocoa - Cocoa 中继承的、综合的属性的访问器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11483548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com