国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Objective-C【protocol的引用問題】

2019-11-14 18:21:26
字體:
來源:轉載
供稿:網友

首先,這里發表聲明:

本博客從今天起從博客園落腳,從前在CSDN寫的全部博客已經轉載于此,希望有越來越多的人能看到我的博客,并在評論中交流學習經驗。

好了,廢話不多說,進入正題。

 

———————————————————————————————————————————
PRotocol的引用問題

這一部分是對前面我們學習過的協議 protocol的補充,所以知識涉及的比較少,但是也很重要,希望大家也要熟練掌握:

 

直接上代碼:


main.m

#import <Foundation/Foundation.h>
#import "Student.h"
#import "workProtocol.h"
//★注意,雖然Student類遵守這個協議,但是我們還要在main.m中導入這個協議的頭文件(因為在Student類的頭文件中我們用的是引入協議(@protocol ......)我們只是讓系統知道有Student這個類,只是通過了編譯而已)
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Student *stu=[Student new];
        
        [stu run];
        
        [stu work];
    }
    return 0;
}

workProtocol.h

#import <Foundation/Foundation.h>

@protocol workProtocol <NSObject>
-(void)work;
@end

Student.h

#import <Foundation/Foundation.h>
@protocol workProtocol;//我們不用每次編譯的時候都編譯一次這個協議,我們只需要在運行的時候編譯一次就夠了,所以我們這里可以只是告訴編譯器一聲 workProtocol是一個協議 就好了。(其目的還是為了節約編譯的內存和時間)

//而且我們還可以在一個類的.h文件中直接去寫一個協議,這樣可以直接用這個協議(work2)
@protocol work2 <NSObject>
-(void)run;
@end

@interface Student : NSObject <workProtocol,work2>

@end

Student.m

#import "Student.h"
#import "workProtocol.h"
//我們只需在.m中用到協議中的方法的時候再用import導入即可
@implementation Student
-(void)work
{
    NSLog(@"student work!");
}

-(void)run
{
    NSLog(@"run!");
}
@end


———————————————————————————————————————————


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐池县| 南皮县| 余江县| 萨嘎县| 资中县| 尤溪县| 综艺| 巨野县| 房产| 天镇县| 南靖县| 南城县| 阳西县| 临高县| 民勤县| 泸水县| 安乡县| 花莲县| 霍城县| 罗定市| 桓仁| 开阳县| 乌拉特前旗| 台前县| 海城市| 济阳县| 灌云县| 东明县| 应城市| 石渠县| 巴里| 将乐县| 惠安县| 迁安市| 繁峙县| 融水| 义乌市| 仁寿县| 乐都县| 宁海县| 上高县|