Objective-C方法的聲明實(shí)現(xiàn)及調(diào)用方法
1.無參數(shù)的方法
1)聲明
a.位置:在@interface括弧的外面
b.語法:
- (返回值類型)方法名稱;
@interface Person : NSObject -(void) run; @end
2)實(shí)現(xiàn)
a.位置:在@implementation中實(shí)現(xiàn)
b.語法:加大括弧將方法實(shí)現(xiàn)的代碼寫在大括孤之中
@implementation Person; -(void)run{ NSLog(@"我在跑步"); } @end
3)調(diào)用
a.方法是無法直接調(diào)用的,因?yàn)轭愂遣荒苤苯邮褂玫?,必須要先?chuàng)建對象
b.語法:
[對象名 方法名];
int main(int argc, const char * argv[]) { Person *p = [Person new]; [p run]; }
2.單個參數(shù)的方法
1)聲明
a.位置:在@interface括弧的外面
b.語法:
-(返回值類型)方法名稱:(參數(shù)類型)形參名稱;
@interface Person : NSObject -(void)eat:(NSString *)foodName; @end
2)實(shí)現(xiàn)
a.位置:在@implementation中實(shí)現(xiàn)
b.語法:加大括弧將方法實(shí)現(xiàn)的代碼寫在大括孤之中
@implementation Person; -(void)eat:(NSString *)foodName{ NSLog(@"%@好美味!",foodName); } @end
3)調(diào)用
a.方法是無法直接調(diào)用的,因?yàn)轭愂遣荒苤苯邮褂玫?,必須要先?chuàng)建對象
b.語法:
[對象名 方法名:實(shí)參];
int main(int argc, const char * argv[]) { Person *p = [Person new]; [p eat:@"烤魚"]; }
3.多個參數(shù)的方法
1)聲明
a.位置:在@interface括弧的外面
b.語法:
-(返回值類型)方法名稱:(參數(shù)類型)形參名稱 :(參數(shù)類型)形參名稱;
@interface Person : NSObject -(int)sum:(int)num1 :(int)num2; @end
2)實(shí)現(xiàn)
a.位置:在@implementation中實(shí)現(xiàn)
b.語法:加大括弧將方法實(shí)現(xiàn)的代碼寫在大括孤之中
@implementation Person; -(int)sum:(int)num1 :(int)num2{ int num = num1+num2; return num; } @end
3)調(diào)用
a.方法是無法直接調(diào)用的,因?yàn)轭愂遣荒苤苯邮褂玫?,必須要先?chuàng)建對象
b.語法:
[對象名 方法名:實(shí)參:實(shí)參];
int main(int argc, const char * argv[]) { Person *p = [Person new]; NSLog(@"sum=%d",[p sum:1 :1]); }
運(yùn)行結(jié)果
補(bǔ)充:
Objective-C中的“description“方法
在Objective-C中,每個對象都繼承自NSObject類,在NSObject類中定義了一個名為`description`的方法。該方法用于返回一個字符串,描述對象的內(nèi)容。默認(rèn)情況下,`description`方法返回的字符串是該對象的類名和其在內(nèi)存中的地址。
下面是一個重寫`description`方法的示例代碼:
@interface MyClass : NSObject @property (nonatomic, strong) NSString *name; @property (nonatomic) NSInteger age; @end @implementation MyClass - (NSString *)description { return [NSString stringWithFormat:@"MyClass: Name=%@, Age=%ld", self.name, (long)self.age]; } @end
定義了一個叫做`MyClass`的類,它包含了`name`和`age`兩個屬性
重寫了`description`方法,使用`NSString`的`stringWithFormat:`方法
將`name`和`age`的值拼接到一個描述字符串中,并返回
MyClass *myObject = [[MyClass alloc] init]; myObject.name = @"John"; myObject.age = 25; NSLog(@"%@", myObject); // 輸出: MyClass: Name=John, Age=25
通過重寫`description`方法,你可以為自定義的類提供更有意義的描述信息,方便在日志輸出和調(diào)試過程中使用。
需要注意的是,為了在控制臺上輸出一個對象的`description`內(nèi)容,你可以使用`NSLog`方法,并將對象作為參數(shù)傳遞給`%@`占位符
到此這篇關(guān)于Objective-C方法的聲明實(shí)現(xiàn)及調(diào)用的文章就介紹到這了,更多相關(guān)Objective-C方法的聲明內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iOS tableview實(shí)現(xiàn)頂部拉伸效果
這篇文章主要為大家詳細(xì)介紹了iOS tableview實(shí)現(xiàn)頂部拉伸效果,以及頭部拉伸效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05實(shí)例講解iOS應(yīng)用的設(shè)計(jì)模式開發(fā)中的Visitor訪問者模式
這篇文章主要介紹了iOS應(yīng)用的設(shè)計(jì)模式開發(fā)中的Visitor訪問者模式的實(shí)例,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03iOS開發(fā)技巧之WeakSelf宏的進(jìn)化詳解
在程序中我們經(jīng)常用到Block,但寫weak self 時(shí)會比較繁瑣,下面這篇文章主要給大家介紹了關(guān)于iOS開發(fā)技巧之WeakSelf宏的進(jìn)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們一起來看看吧2018-05-05IOS 開發(fā)之 NSMutableArray與NSArray 的區(qū)別
這篇文章主要介紹了IOS 開發(fā)之 NSMutableArray與NSArray 的區(qū)別的相關(guān)資料,希望通過本文能掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09