第一个Tire那个方法,方法名是
setTire:atIndex:
第二个Circle那个方法,方法名是:
setStringValue:color:
方法名分段是为了对参数有更好的描述,比如C++里面调一个方法,这个方法有两个参数,第一个假设为int,第二个假设为布尔值,那这个方法的调用看起来可能像这样:
setParams(10,false)
这样光看参数根本不知道是什么意思,而且顺序也有可能搞错。
所以OC把每一个参数都在方法名里描述进去,一开始会不习惯,习惯之后就会很喜欢了。

解决方案 »

  1.   

    方法名包括 “:” 这个吗?
    因为我看到description这个函数
    [code = objc]
    (NSString*) description
    {
    /* ... */
    }
    名称里面没有冒号,是不是需要参数列表的时候才有冒号?
    [/code] 
      

  2.   

    方法名包括 “:” 这个吗?
    因为我看到description这个函数
    [code = objc]
    (NSString*) description
    {
    /* ... */
    }
    名称里面没有冒号,是不是需要参数列表的时候才有冒号?
    [/code] 
    是的,一个参数需要一个冒号,冒号后面是参数,冒号前面是对该参数的描述
      

  3.   

    objective-C   - 和 +
    这个书上也解释的云里雾里,才看到第八章,求解!
      

  4.   


    + 类方法 (通过类名调用)
     如:[NSString stringWithFormat:@""]; 其中stringWithFormat: 就是NSString类的类方法
    -  实例方法(通过对象调用) 
    NSString *str=@"hello ";
    str=[str stringByAppendingFormat:@"world"];
    其中stringByAppendingFormat: 即为实例方法
      

  5.   

    objc对方法的命名更具可读性。