当前位置:首页 » 密码管理 » oc访问成员变量吗

oc访问成员变量吗

发布时间: 2024-11-29 00:14:59

‘壹’ OC中在.h和.m中声明的属性和成员变量有何区别

呃呃。。。在h中声明相当于把这个属性暴露出去,外面是可以使用和修改的(如果你愿意让别人修改),但是在m文件中声明的属性那就属于私有变量,只能在本类使用,外面无法访问

‘贰’ self.变量 和 变量 的区别

属性可以用dot(.)语法,比如self.xxx,在外部调用也同样可以someClass.xxx。

属性实际上是对一组set和get方法的简单封装(oc的get方法没有get前缀),同样会自动生成一个私有的成员变量(名称为:下划线+属性名)。

成员变量无论是全局还是局部的,都只能在本类或当前函数中使用,在其之外的地方无法直接调用(可以通过间接的方式调用)。

在本类使用时,属性self.xxx会给私有的_xxx变量增加一次引用计数,相当于多retain了一次。如果不使用ARC,分别给普通变量和属性赋值,打印一下引用计数你就明白了。如果你使用ARC,完全不需要考虑引用计数相关的东西。

总而言之,如果你当前类需要被外部调用,而且需要方便访问某个变量,那就应该把这个变量设为属性。如果只是在类内部使用,使用普通变量和使用属性没有任何区别,就看个人习惯了。

热点内容
php办公系统 发布:2025-07-19 03:06:35 浏览:899
奥德赛买什么配置出去改装 发布:2025-07-19 02:53:18 浏览:40
请与网络管理员联系请求访问权限 发布:2025-07-19 02:37:34 浏览:189
ipad上b站缓存视频怎么下载 发布:2025-07-19 02:32:17 浏览:844
phpcgi与phpfpm 发布:2025-07-19 02:05:19 浏览:527
捷达方向机安全登录密码是多少 发布:2025-07-19 00:57:37 浏览:692
夜魔迅雷下载ftp 发布:2025-07-19 00:39:29 浏览:99
增值税票安全接入服务器地址 发布:2025-07-19 00:20:45 浏览:486
solidworkspcb服务器地址 发布:2025-07-18 22:50:35 浏览:822
怎么在堆叠交换机里配置vlan 发布:2025-07-18 22:42:35 浏览:630