当前位置: 代码迷 >> Iphone >> 【语法有关问题】如何给对象发消息
  详细解决方案

【语法有关问题】如何给对象发消息

热度:101   发布时间:2016-04-25 06:01:10.0
【语法问题】怎么给对象发消息?
我做JAVA开发的,看到下面这个,甚感火星文!!!请大家帮我全部(包括符号)解释下,非常感谢!!!!!

[myArray insertObject:anObject atIndex:0];

------解决方案--------------------
[myArray insertObject:anObject atIndex:0];
myArray 插入一个对象 anObject 在那个位置为0 的地方

其实Objective C给对象发消息的语法源自Smalltalk 
这个等价与java中  myArray[0] = anObject;

其实Objective C这种语法有个好处, 给你看个例子:
在窗口中绘制矩形的方法,如果是Objective C 会是这样:

- (void) drawRectWithX:(float)x
                           andY:(float)y
                    andWidth:(float)width
                  andHeight:(float)height
{
}



public void drawRect(float x, float y, float width, float height)
{
}

这样好像还看不出好处,那么我分别调用一下两个,看看写法:
Objective C:
[obj drawRectWithX:10
                      andY:20
               andWidth:90
             andHeight:130];

Java:
obj.drawRect(10, 20, 90, 130);

看看,java那个如果我不去看方法的声明,你能直接从调用的地方看出每个参数代表啥意义吗?如果你事先不知道drawRect函数的意思,你只看obj.drawRect(10, 20, 90, 130). 天知道10是啥意思,20又是啥意思,
而Objective C呢,一目了然,10是X   20是Y  90是width  130是height    我写代码不加注释都可以(前提是你起的名字有意义一看便知),你慢慢想想看呢?
  相关解决方案