代码之家  ›  专栏  ›  技术社区  ›  TalkingCode

简单的Objective-C问题:为什么main是方法而不是函数?

  •  1
  • TalkingCode  · 技术社区  · 14 年前

    主要的 一种方法?至少它被称为 “在我读的所有书中。

    让我告诉你细节。。。我做了一个小程序,用一个函数对NSMutableArray进行排序。我把函数放在前面 一切都很好。 我的问题是如何向初学者解释 主要的 是一个方法,而对数组排序的代码是一个函数。 很难看出有什么不同。

    我们都知道方法总是属于类,函数不属于类,但在我的项目中,我没有类,只有主。 主要的 成为 静止的

    所以问题是“为什么main是方法而不是函数?”或者不是?还是完全不同?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Stephen Furlani    14 年前

    啊。。。。我相信你正在混合C和Objy-C语法。

    如果,总的来说,你有以下几点:

      void sortArray(NSMutableArray *a)
       {
    
       }
    
       int main( const int argc, char** argv )
       {
    
       }
    

    extern 变量和函数,我想。

    但是

    如果你打电话

    [array addObject:insert];
    

    你在调用一个Objective-C方法( invoking a message

    @interface myClass : NSObject
    {
        int myIvar;
    }
    
    + (id) myStaticMethod: (NSObject *)parameter;
    - (void) myInstanceMethod: (NSObject *)parameter;
    
    @end
    
    @implementation
    
    + (id) myStaticMethod: (NSObject *)parameter
    {
    
    }
    
    - (void) myInstanceMethod: (NSObject *)parameter
    {
    
    }
    
    @end
    

    希望能有所帮助。

        2
  •  3
  •   Ferruccio    14 年前

    main 在Objective-C中是完全相同的 在C或C++中。一个独立的函数,它是程序的入口点。有些书可能称之为主要方法,因为它们对术语有点松散。

    从技术上讲,Objective-C有方法,这些方法是响应发送到对象的消息而调用的。C++具有直接调用的成员函数。

        3
  •  -1
  •   user1422967    12 年前

    函数和方法没有区别,两者都是一样的。有些语言有一些术语。在C中,它被称为函数,在C++中,它被称为成员函数,在Java,Objtovi-C中,它被称为方法。