您的位置 首页 > 数码极客

ios如何修改cgrect、ios如何修改密码!

我们先来看一个问题:CGPoint在内存中如何分配?CGPoint在OC中是一个结构体,为了提高寻址效率,结构体一般采用内存对齐的方式分配。

1、结构体每个成员相对于结构体首地址的偏移量都是这个成员大小的整数倍。如果有需要,编译器会在成员之间填充字节。

2、结构体的总大小为结构体最宽成员大小的整数倍。

3、对于结构体成员属性中包含结构体变量的复合型结构体,在确定最宽基本类型成员时,应当包括复合类型成员的子成员。但在确定复合类型成员的偏移位置时则是将复合类型作为整体看待。

我们先来看一段代码:


为什么直接给view.和view.赋值会报错?


诶,这样写为什么不报错了呢?

我们知道,CGPoint,CGSize,CGRect本质上都是结构体,且CGPoint,CGSize都是CGRect的成员。

自定义一个结构体Brithday:


但是如果我们对结构体变量br再次赋值时,编译器报错了,为什么?


编译器报错是因为语法问题,定义结构体与定义C中的数组的写法是一样的,所以直接把一个大括号赋值给一个变量,系统不能识别出这是一个数组赋值操作还是一个结构体赋值操作,所以我们需要强转一下。


除了强制类型转换,我们还可以怎么做才会达到二次修改结构体变量的值,还能使编译器不报错呢?


对了,我们可以再创建一个Brithday类型的结构体变量,初始化为我们想要的值,再把该结构体变量赋值给结构体变量br,这样就达到了二次修改br的效果。当然了我们也可以对单个成员属性的值进行修改,直接使用点语法来进行修改即可。

接下来我们来说说属性类型为结构体类型:


S


责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“ios如何修改cgrect,ios如何修改密码,ios如何修改热点名称,ios如何修改定位,iOs如何修改支付密码,ios如何修改文件后缀名”边界阅读