iOS 協(xié)議中定義屬性

@protocol CETableViewModelProtocol <NSObject>
@property (nonatomic, strong) Class cellClass;
@property (nonatomic,  copy ) NSString* cellType;
@end

協(xié)議中是可以定義屬性的,但是只有對應的getter和setter方法 但是沒有對應的成員變量 而getter和setter就是操作的對應成員變量 所以就無法調用getter或者setter 否則項目崩潰

想要調用的話 需要在實現這個協(xié)議的類中用@synthesize cellType = _cellType;來聲明成員變量,這樣這個類的對象就擁有了協(xié)議中定義的這些屬性,用法跟自身其他屬性一樣就不啰嗦了。

來看看實例吧:

.h

#import <Foundation/Foundation.h>
#import "CETableViewModelProtocol.h"
NS_ASSUME_NONNULL_BEGIN

@interface CETableViewModel : NSObject <CETableViewModelProtocol>

@end

NS_ASSUME_NONNULL_END

.m

#import "CETableViewModel.h"

@implementation CETableViewModel
@synthesize cellHeight   = _cellHeight;
@synthesize cellType     = _cellType;
@end

個人博客地址:https://youyou0909.github.io

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,665評論 1 32
  • 在Protocol或者Category中是不可以添加屬性,但是還是看到這樣寫的代碼。 完整的屬性包括成員變量和se...
    觀星閱讀 3,787評論 0 3
  • 出題者簡介: 孫源(sunnyxx),目前就職于百度,負責百度知道 iOS 客戶端的開發(fā)工作,對技術喜歡刨根問底和...
    戈多_于勒閱讀 1,877評論 0 5
  • 摘自: http://www.cocoachina.com/ios/20150803/12872.html 說明...
    program袁閱讀 931評論 1 3
  • 今天是第二天,姨媽依然那么痛,讓我既習慣了它又害怕它,不知道為什么,晚上不痛了竟然還有點懷念它,人就是這樣矯情吧。...
    雞尾變鳳凰閱讀 147評論 0 1

友情鏈接更多精彩內容