iOS小技能:合成指令@synthesize的应用

持续创作,加快生长!这是我参与「日新计划 6 月更文应战」的第20天,点击查看活动概况

前言

  1. 特点组成指令@synthesize,主动指定特点运用的成员变量称号
// 组成指令,主动指定特点运用的成员变量称号
@synthesize image = _image;
  1. 一旦重写了readonly特点的getter办法,_的成员变量就不存在了 ,籍字符此来维护变接口自动化量不会被不恰当的拜访,所以咱们能够运用 synthesize主动指定特点运用的成员变量称号。

I @synthesize的应用

1.1 同时重写getter和setter

objective-c下假如某特点的getter,setter都字符串是什么意思要重写的话需要声明实例变量。

运用property的时候,独自重写恣意一接口crc错误计数个办法都不会报错,但同时重写set get办法就会报错。主要是因为当你重写了get和set办法之后@prop成员变量是什么意思erty默认生成的组成办法字符是什么就不会起作用了, 这也就意味着你的类不会主动生成出实例变量了,你就必须要自己声明实例变量。


  • 声明实例变量第成员变量和静态变量的区别一种办法接口和抽象类的区别
@synthesize propertyName = _propertyName;
  • 声明实例变量第二种办法
@interface Person ()
{
    NSString *_name; // 
    int _age;
}

1.2 synthesize与readO字符间距nly 关键字合作运用

@synthesize iconImage = _iconImage;//与readOnly 关键字合作运用
  • 问题: 运用readonly修饰成员变量的话,将不会出产带下划线的成员变量 undeclared identifier ‘_image’,接口测试

  • 解决办法如下:@synthesize 组成指令 -成员变量用于描述对象的特征-主动指定特点运用https域名的成员变量称号

@synthesize image =_image;//@synthesize 中能够界说 与变量名不相同的getter和setter的命名,籍此来维护变量不会被不恰当的拜访
  • 比如
//@synthesize iconF = _iconF;
/** 
 一旦重写了readonly特点的getter办法,_的成员变量就不存在了 
 假如还需要运用_成员变量,则需要运用@synthesize生成对应的成员变量
 */
//- (CGRect)iconF
//{
//    
//}

II 相关基础知识

2.1 正向类声明(字符间距在哪里设置前置声明)

场景:头文件@interface声明有时候会在特点中引证外部类或者作为参数类型

一般做法:给每个外部类增加 #impo字符是什么rt 句https安全问题

正向类声明:http 404 在头文件运用@class前置字符间距加宽2磅声明,并且在 implementatio字符间距加宽2磅n 中引进个外部类。

正向类声明编译时刻更短,循环http://www.baidu.com引证的机会更少;

2.2 .语法的运用

  • 运用条件 : 运用 @property @synthesize 组成 setter 和 getter 办法; 也答应运用.语法拜访http 500特点 和 对字符常量特点赋值;

  • 实质 : 点语法是一种简单写法, 其实质仍然是 gette成员变量是什么意思r 和 s接口测试用例设计etter 办法;

获取特点值 : 只要目标有 getter 办法, 程序能够运用 语法获取特点值;

设置特点值 : 只要目标有s字符串逆序输出etter 办法, 程序能够运用语法获取特点值;

2.3 KVC

Object-C 能够经过 getter setter 办法操作特点, 还能够以字符串形式直接操作特点, 该方法是 Khttp 500ey Value Coding (Khttps认证VC)。

KVC 运用条件 :

  1. 接口部分运用 @proper接口和抽象类的区别ty
  2. 实现类部分运用 @synthesize 组成字符是什么存取办法
  3. 只界说 “_特点名” 或 “特点名字符间距加宽2磅怎么设置” 成员变量,

see also

iOS基础业务知识: https://blog.csdn.net/z929118967/article/details/123719790

发表评论

提供最优质的资源集合

立即查看 了解详情