OC 類中帶引數的方法和匿名物件
阿新 • • 發佈:2019-01-30
</pre><pre code_snippet_id="642096" snippet_file_name="blog_20150412_1_2293226" name="code" class="objc">#import <Foundation/Foundation.h> @interface JiSuanQi : NSObject - (int) pingFang:(int)num; // - (int) sum:(int)num1 :(int)num2; - (int) sumWithNum1:(int)num1 andNum2:(int)num2; @end; @implementation JiSuanQi // OC方法中 一個引數對應一個冒號, 冒號在型別前邊引數名在型別後邊,引數型別用括號括起來 - (int) pingFang:(int)num { return (num*num); } // 函式名 sumWithNum1: andNum2: 冒號後邊是引數, 前邊是函式名+描述資訊 // 多個引數的函式名由冒號前邊的修飾符組成 // 冒號也是方法名的一部分 - (int) sumWithNum1:(int)num1 andNum2:(int)num2; { return num1 + num2; } @end; int main() { JiSuanQi *jj = [JiSuanQi new]; // 帶引數的方法呼叫時,引數同樣寫在冒號後邊,一個冒號對應一個引數 NSLog(@"5的平方是:%i", [jj pingFang:5]); NSLog(@"2 + 34 = %d", [jj sumWithNum1:2 andNum2:34]); return 0; }
匿名物件
#import <Foundation/Foundation.h> @interface Car : NSObject { @public int speed; } - (void)run; @end @implementation Car - (void)run { NSLog(@"速度為%i的車子跑起來了", speed); } @end int main() { // 匿名物件,物件已經在堆中申請分配空間 // 但沒有任何指標變數接收物件地址 但可直接呼叫對方方法 // 開發中是不應該這樣寫的。可能會引起記憶體洩漏,但知道了解有這樣一種表達方式 [[Car new] run]; return 0; }