第一个Tire那个方法,方法名是
setTire:atIndex:
第二个Circle那个方法,方法名是:
setStringValue:color:
方法名分段是为了对参数有更好的描述,比如C++里面调一个方法,这个方法有两个参数,第一个假设为int,第二个假设为布尔值,那这个方法的调用看起来可能像这样:
setParams(10,false)
这样光看参数根本不知道是什么意思,而且顺序也有可能搞错。
所以OC把每一个参数都在方法名里描述进去,一开始会不习惯,习惯之后就会很喜欢了。
setTire:atIndex:
第二个Circle那个方法,方法名是:
setStringValue:color:
方法名分段是为了对参数有更好的描述,比如C++里面调一个方法,这个方法有两个参数,第一个假设为int,第二个假设为布尔值,那这个方法的调用看起来可能像这样:
setParams(10,false)
这样光看参数根本不知道是什么意思,而且顺序也有可能搞错。
所以OC把每一个参数都在方法名里描述进去,一开始会不习惯,习惯之后就会很喜欢了。
因为我看到description这个函数
[code = objc]
(NSString*) description
{
/* ... */
}
名称里面没有冒号,是不是需要参数列表的时候才有冒号?
[/code]
因为我看到description这个函数
[code = objc]
(NSString*) description
{
/* ... */
}
名称里面没有冒号,是不是需要参数列表的时候才有冒号?
[/code]
是的,一个参数需要一个冒号,冒号后面是参数,冒号前面是对该参数的描述
这个书上也解释的云里雾里,才看到第八章,求解!
+ 类方法 (通过类名调用)
如:[NSString stringWithFormat:@""]; 其中stringWithFormat: 就是NSString类的类方法
- 实例方法(通过对象调用)
NSString *str=@"hello ";
str=[str stringByAppendingFormat:@"world"];
其中stringByAppendingFormat: 即为实例方法