在目标c中无法理解二传手和吸气剂

时间:2012-10-15 13:37:46

标签: objective-c setter getter

我正在通过一些在线教程学习目标c,我有一个问题。在这个视频:http://www.youtube.com/watch?v=Nb9-1rRjO_8&feature=player_detailpage#t=367s你可以看到我在这里写的代码:

@synthesize width, height; //setters and getters

-(void) setWH:(int) w:(int) h{
    width = w;
    height = h
}

我不明白为什么他写了一个setHW方法,如果他已经使用@synthesize获得了宽度和高度的setter和getter。我错过了什么?

由于

2 个答案:

答案 0 :(得分:5)

他正在合成宽度和高度,但是你要问的关于setWH的方法看起来是一个名字很简单的便利方法,可以在一个地方设置宽度和高度。

实际上,它看起来很糟糕,除了不应该使用self.widthself.height之外,对于非属性的东西,set看起来很奇怪。

init

的位置

找一位更好的老师。

如果您喜欢观看视频 - 启动iTunes,请转到iTunesU查找C193P,这是斯坦福大学iPhone编程课程的视频集。你会在那里学到更多东西。

已编辑添加

iTunes上此课程的链接为https://itunes.apple.com/gb/itunes-u/ipad-iphone-application-development/id473757255

答案 1 :(得分:3)

我已经看过链接的视频了,我不认为它是学习Objective-C的非常好的资源。

你猜测的“setWH”方法是不必要的,并且有一个非常令人困惑的声明。

-(void) setWH:(int) w:(int) h

wh参数变量或w:是方法名称的一部分。如果w:是方法名称的一部分,那么为什么参数变量名为h。如果w是参数变量,则方法名称实际为setWH::

实际上,wh 都是 参数变量,这意味着您可以按如下方式调用此方法:

[obj setWH:10 :10]; 

这不是惯用的Objective-C。