小编Cri*_*ras的帖子

在Objective-C中理解自我

下面的代码来自Objective-C中iPhone开发的iTunes U课程.我已经阅读了Apple文档,除了self之外,它都非常清楚.我有点理解自我是指向自己的指针,但究竟是什么意思呢?在下面的代码中,自我意味着什么?self.topSpeed和self.nearestWormhole在实现文件中有什么区别,或者在两种情况下self都指向同一个东西?self.topSpeed是指Planet*和self.nearestWormhole是指虫洞*?感谢任何回答的人,我已经学会了C,现在正在努力学习OOP,所以任何输入都会受到赞赏.

(Header file)
#import "Vehicle.h"
#import "Planet.h"
@interface Spaceship : Vehicle
@property (nonatomic) double topSpeed;
- (void)orbitPlanet:(Planet *)aPlanet
         atAltitude:(double)km;
@end





(Implementation file)
#import "Spaceship.h"
@interface Spaceship()
@property (nonatomic, strong) Wormhole *nearestWormhole;
@end

@implementation Spaceship
@synthesize topSpeed = _topSpeed;
@synthesize nearestWormhole = _nearestWormhole;

- (void)setTopSpeed:(double)speed
{
    if ((speed < 1) && (speed > 0)) _topSpeed = speed;
}

- (void)orbitPlanet:(Planet *)aPlanet atAltitude:(double)km
{
    double speed = self.topSpeed;
    if (speed > MAX_RELATIVE) speed = MAX_RELATIVE;
    [self.nearestWormhole travelToPlanet:aPlanet
                                 atSpeed:speed];
}
@end
Run Code Online (Sandbox Code Playgroud)

pointers object objective-c self super

5
推荐指数
1
解决办法
4866
查看次数

标签 统计

object ×1

objective-c ×1

pointers ×1

self ×1

super ×1