日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OC之类方法

發布時間:2025/3/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OC之类方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#import<Foundation/Foundation.h>

/*

?1、對象方法

?1減號-?開頭

?2)只能由對象來調用

?3)對象方法中能訪問當前對象的成員變量(實例變量)

2、類方法

?1加號+?開頭

?2只能由類(名)來調用

?3類方法中不能訪問成員變量(實例變量)

?

?3類方法的好處和使用場合

?1不依賴于對象,執行效率高

?2能用類方法,盡量用類方法

?3場合:當方法內部不需要使用到成員變量時,就可以改為類方法

?

?可以允許類方法和對象方法同名

?*/

@interfacePerson : NSObject

{

??? int age;

}

//?類方法都是以+開頭

+(void)printClassName;

?

-(void)test;

+(void)test;

@end

?

@implementationPerson

+(void)printClassName

{

????// errorinstancevariable 'age' accessed in class method

??? //?實例變量age不能在類方法中訪問

??? //NSLog(@"這個類叫做Person-%d",age);

}

-(void)test

{

??? NSLog(@"111-%d", age);

????//[Person test];

}

?

+(void)test

{

????//?會引發死循環

??? //[Person test];

????????NSLog(@"333");

???

//?會引發死循環

// [Person test];

}

@end

?

?

intmain()

{

????//[PersonprintClassName];//直接用類名調用類方法

????[Person test];

????//Person *p =[Person new];

??? //[p test];

????????/*

???? -[Person printClassName]: unrecognizedselector sent to instance 0x7fa520c0b370

???? */

??? //?系統會認為現在調用的printClassName是個對象方法

??? //[p printClassName];

????????return 0;

}

【備注】不能使用指針去訪問類方法,會報錯。類方法和成員(對象)方法可以同名。

總結

以上是生活随笔為你收集整理的OC之类方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。