枚举的@property参数

这篇博客探讨了如何在Objective-C中使用@property特性来处理C208StatusCode枚举类型,并且提到了结合Block的使用方法。

@property(nonatomic)C208StatusCode Statuscode;//C208StatusCode枚举

@property (copy, nonatomic) void (^notificationBeganBlock)();//Block


#ifdef APP_VIGI #import <SurveillanceCore/TPSSBaseDevice.h> #import <SurveillanceCore/TPSSShareInfo.h> #import <SurveillanceCore/TPSSDeviceForSetting.h> #import <SurveillanceCore/TPSSSolarInfo.h> #else #import <OmadaSurveillanceCore/TPSSBaseDevice.h> #import <OmadaSurveillanceCore/TPSSShareInfo.h> #import <OmadaSurveillanceCore/TPSSDeviceForSetting.h> #import <OmadaSurveillanceCore/TPSSSolarInfo.h> #endif @class TPSSShareDevicePermissionInfo; //@class TPSSSolarDayStat; //@class TPSSSolarMonthStat; //@class TPSSSolarRule; //@class TPSSSolarSystemStatus; NS_ASSUME_NONNULL_BEGIN /** 设备列表页面使用的数据结构 */ @interface TPSSDeviceForDeviceList : TPSSBaseDevice <TPSSGroupDefenceModeSettings> @property (nonatomic, readonly) NSString *alias; @property (nonatomic, readonly) NSString *ip; @property (nonatomic, readonly) int httpsVersion; @property (nonatomic, readonly) NSString *cloudDeviceId; @property (nonatomic, readonly) NSInteger activeChannelNums; @property (nonatomic, readonly) NSInteger maxChannelNums; @property (nonatomic, readonly) BOOL isUnformatSD; @property (nonatomic, readonly) BOOL isDilatantDiskDetectStatus; @property (nonatomic, readonly) BOOL isDilatantSuspectDiskDetectStatus; @property (nonatomic, readonly) BOOL isLowSpeedDiskDetectStatus; @property (nonatomic, readonly) BOOL supportsPreview; @property (nonatomic, readonly) BOOL supportsPlayback; @property (nonatomic, readonly) BOOL supportsCloudControl; @property (nonatomic, readonly) BOOL supportsShare; @property (nonatomic, readonly) BOOL supportMessage; @property (nonatomic, readwrite) BOOL supportFishEye; @property (nonatomic, readwrite) BOOL supportFishEyeCorrection; @property (nonatomic, readwrite) BOOL supportPano; @property (nonatomic, readwrite) BOOL isDeviceLocked; //仅用于批量任务构建的临时设备列表标识是否被锁 //鱼眼参数 @property (nonatomic, readonly) TPSSFishEyeCapability *fisheyeCapability; @property (nonatomic, readonly) BOOL supportCloudStorage; @property (nonatomic, readonly) BOOL supportDeviceAlarm; @property (nonatomic, readonly) NSString *imageDownloadVersion; @property (nonatomic, readonly) BOOL supportsReonboarding; @property (nonatomic, readonly) BOOL supportMultiSensors; @property (nonatomic, readonly) NSString *model; @property (nonatomic, readonly) NSString *mac; @property (nonatomic, readonly) NSString *hardwareVersion; @property (readonly) TPSSDeviceType displayType; @property (readonly) NSString *displayName; @property (nonatomic) BOOL messageEnable; @property (nonatomic) long long siteId; @property (nonatomic) long long vmsDevId; @property (nonatomic, readonly) BOOL isLicenseNotActive; //CloudVms 设备是否未激活 /* false:设备已激活 true:设备未激活 license */ @property (nonatomic, assign) BOOL isFirstDeviceInSite; @property (nonatomic, readonly) NSString *sitePathName; @property (nonatomic, readonly) TPSSVMSSiteRoleType vmsRoleType; @property (nonatomic, readonly) BOOL isVmsVirtualNvr; @property (nonatomic) BOOL isVMSFavorited; /** if supports lens mask for IPC. (always false for nvr now) */ @property (nonatomic, readonly) BOOL supportVideoCover; @property (nonatomic, readonly) BOOL hasChannels; @property (nonatomic) NSArray <TPSSChannelInfo *> *channelsInfo; // channels (might not include hidden channels) @property (nonatomic, readonly) NSArray <TPSSChannelInfo *> *activeChannelsInfo; // channels (with device) @property (nonatomic, readonly) NSArray <TPSSChannelInfo *> *allChannelsInfo; // all channels @property (nullable, nonatomic, readonly) NSArray <TPSSDeviceSDInfo *> *deviceSDInfos; //share @property (nonatomic, readonly) NSString *ownerID; @property (nonatomic, readonly) BOOL isSharing; @property (nonatomic, readonly) BOOL isSharedDevice; @property (nonatomic, readonly) BOOL isInSharePeriod; @property (nonatomic, readonly) BOOL isShareEnable; @property (nonatomic, readonly) NSString *firmwareVersion; @property (nonatomic, readonly) NSString *releaseFirmwareVersion; @property (nonatomic, readonly) BOOL needUpgrade; @property (nonatomic) BOOL isAlarmOnAtHome; @property (nonatomic) BOOL isAlarmOnOutDoor; @property (nonatomic) BOOL isDeviceAlarmAtHome; @property (nonatomic) BOOL isDeviceAlarmOutDoor; @property (nonatomic) BOOL isVideoCoverAtHome; @property (nonatomic) BOOL isVideoCoverOutDoor; @property (nonatomic, readonly) BOOL isBound; //wifi @property (nonatomic, readonly) NSString *ssid; @property (nonatomic, readonly) BOOL hasConfigWifiPassword; /** 无线设备连接信息 **/ @property (nonatomic, readonly) BOOL supportConnectInfo; @property (nonatomic, readonly) TPSSDeviceLinkType linkType; @property (nonatomic, readonly) NSInteger linkRssi; @property (nonatomic, readonly) NSString *offlineTime; @property (nonatomic, readonly) NSString *qrcode; /// 设备管理类型 remote=0 | local=1 | direct=2 | onboard=3 | unbind=4 | all=5 /// 初始化时由外界输入 /// - Note 关联IPCDevice->IPCDeviceInfo.iState /// - Note 其实设备是可以同时存在多种类型的,比如remote和local。之所以存在这个字段,应该是因为最初的交互和UI设计不同管理类型的设备是隔离的? @property (nonatomic, readonly) TPSSDeviceListType listType; /// 设备在当前的管理类型(listType)下是否在线 @property (nonatomic, readonly) BOOL online; /// 本地设备是否在线,此参数仅用来判断当本地设备底层离线时,判断是否是因为验证不通过导致的,true为验证未通过 false为确实离线, 对应底层bValid @property (nonatomic, readonly) BOOL onlineForLocalShow; /// 出厂状态 unknow=-1 | no=0 | yes=1 /// 初始化时根据IPCDevice信息确定 /// - Note 关联IPCDevice.pcFactoryDefault @property (nonatomic, readonly) TPSSDeviceFactoryStatus factoryStatus; // media encrypt @property (nonatomic, readonly) BOOL supportMediaEncrypt; @property (nonatomic, readonly) BOOL supportFlicker; @property (nonatomic, readonly) BOOL supportLanguage; @property (nonatomic, readonly) NSArray<NSString *> *languageList; @property (nonatomic, readonly) BOOL supportLocation; @property (nonatomic, readonly) NSString *location; //用于消息通知设备管理(判断是否支持消息推送) @property (nonatomic, readonly) BOOL isSupportMessagePush; // 已经分享的人数 @property (nonatomic, readonly) NSInteger sharingUserNum; @property (nonatomic, readonly) NSInteger sharingNvrTotalUserCount; // 当前是否正在分享 // 用于列表展示 @property (nonatomic, readonly) BOOL isDeviceSharing; @property (nonatomic, readonly) BOOL isSharedFromOthers; @property (nonatomic, readonly) NSString *deviceOwnerName; @property (nonatomic, readonly) BOOL isSupportShare; @property (nonatomic, readonly) TPSSShareDevicePermission2 *shareDevicePermissionInfo; //收藏相关字段 @property (nonatomic) BOOL isCollected; @property (nonatomic) NSArray <NSNumber *> *collectChannels; //////////////////太阳能设备相关 //太阳能设备当天图表信息 @property (nonatomic, readonly) TPSSSolarDayStat *solarDayStat; //获取太阳能设备当月图表信息 @property (nonatomic, readonly) TPSSSolarMonthStat *solarMonthStat; //负载供电时间规则 @property (nonatomic, readonly) NSArray <TPSSSolarRule *> *solarRules; // 太阳能系统信息 @property (nonatomic, readonly) TPSSSolarSystemStatus *solarSystemStatus; /// 根据IPCDEVICE初始化 /// @param pDevice IPCDEVICE * /// @param listType <#listType description#> /// @param includeHidden <#includeHidden description#> - (instancetype) initWithDevice:(void *)pDevice type:(TPSSDeviceListType)listType includeHiddenChannels:(BOOL)includeHidden; /// VMS设备列表需要, 根据底层DeviceBasicInfo初始化, 仅包含设备列表展示的必要数据 /// /// @param pDevice IPCDeviceListBasicInfo * /// @param listType 设备列表类型 /// @param includeHidden 是否需要包含NVR隐藏通道 - (instancetype) initWithBasicDevice:(void *)pDevice type:(TPSSDeviceListType)listType includeHiddenChannels:(BOOL)includeHidden; - (NSArray<TPSSChannelInfo *> *)getNVRChannelsSharedFromOthers; - (TPSSVMSSiteRoleType)convertRoleTypeFromeCType:(int)type; - (BOOL)isSupportFishEye: (NSInteger)iChannelID; - (BOOL)isSupportFishEyeCorrection: (NSInteger)iChannelID; - (BOOL)isSupportPano: (NSInteger)iChannelID; @end NS_ASSUME_NONNULL_END
最新发布
12-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值