關于方法前的 + - 符號
前置加號(+)的方法為類方法,這類方法是可以直接用類名來調用的,它的作用主要是創(chuàng)建一個實例。相當于是靜態(tài)的方法。
前置減號(-)的方法為實例方法,必須使用類的實例才可以調用的。
而要把成員變量聲明為靜態(tài)的,必須使用static關鍵字
關于Ob-c的函數(shù)的參數(shù)問題
Object-c的一個方法可以包含多個參數(shù),除了第一個參數(shù)外,后面的所有參數(shù)都要寫名字。
多個參數(shù)的寫法
(方法的數(shù)據(jù)類型) 函數(shù)名: (參數(shù)1數(shù)據(jù)類型) 參數(shù)1的數(shù)值的名字 參數(shù)2的名字: (參數(shù)2數(shù)據(jù)類型) 參數(shù)2值的名字 …. ;
舉個例子,一個方法的定義:
-(void) setKids: (NSString *)myOldestKidName secondKid: (NSString *) mySecondOldestKidName thirdKid: (NSString *) myThirdOldestKidName;
實現(xiàn)這個函數(shù)的時候:
-(void) setKids: (NSString *)myOldestKidName secondKid: (NSString *) mySecondOldestKidName thirdKid: (NSString *) myThirdOldestKidName{
大兒子 = myOldestKidName;
二兒子 = mySecondOldestKidName;
三兒子 = myThirdOldestKidName;
}
調用的時候:
Kids *myKids = [[Kids alloc] init];
[myKids setKids: @”張大力” secondKid: @”張二力” thirdKid: @”張小力”];
而如果你用c#寫這個方法,大致的寫法可能是
public void setKids( string myOldestKidName, string mySecondOldestKidName, string myThirdOldestKidName)
{
…
}
調用的時候大概的寫法可能是:
Kids myKids = new Kids();
myKids.setKids (“張大力”, “張二力”, “張小力”);
明白了吧?其實不怎么難看懂。
基本上,如果你能了解下面這段代碼的轉換關系,你Objective-C的語法也就懂了八成了:
[[[MyClass alloc] init:[foo bar]] autorelease];
轉換成C#或者java的語法也就是:
MyClass.alloc().init(foo.bar()).autorelease();
互聯(lián)網(wǎng)資訊:互聯(lián)網(wǎng)的一點事 www.yidin.net
新聞熱點
疑難解答