OC中在.h和.m中声明的属性和成员变量有何区别?
相比Swift而言,OC规矩太多.
差不多,.h中声明的属性和成员变量均可以在子类中访问到.而.m则不可.而属性其实也就是成员变量的一种简写,其内部自动包含了getter和setter方法.
如图:ViewController是SubController的父类.在ViewController.h中声明成员变量imageView1和属性imageView2

在ViewController.m中同样声明了成员变量imageView3和属性imageView4.

在ViewController.m中
1,通过self.xxx的方法可以出现imageView2和imageView4

2.通过 _XXX的形式只能出现imageView2,imageView4

3.通过XXX的形式只能出现imageView1.imageView3

在子类SubController.m中
1.通过self.XXX的形式只能出现imageView2

2.通过 _XXX的形式什么都不会出现.

3.通过XXX的形式可以出现imageView1

开发中,一般在成员变量前面加个_.


这样一来就明了了.
在本类中访问,通过self.XXX可以访问到imageView2和imageView4.
通过_XXX都可以访问,XXX则都不能
子类中,通过self.XXX可以访问imageView2,通过_XXX可以访问到imageView1,XXX则都不能.
(其中很多和旧版的OC语言有关,小生不了解)
总之,差不多就是在.h中声明的属性或者成员变量在其子类中均可以访问到,只不过形式不一样.
在.m中声明的属性或者成员变量只能在本类中访问到.
而属性其实就是成员变量的简写,内部自动包含了getter和setter方法.
我的理解是这样,不知对否.
OC中在.h和.m中声明的属性和成员变量有何区别?的更多相关文章
- Object-c中的属性和成员变量的关系详解
		
很多人在初学移动开发的时候会对object-c中的合成存取方法感到疑惑,此处尝试为看到本文有缘人答疑解惑,鄙人才疏学浅,难免有疏漏谬误之处,热烈欢迎诸位看官拍砖指点. 1.合成存取方法: OC为增加开 ...
 - c++中嵌套类,外部类访问内部类的私有成员变量
		
在嵌套类中,内部类可以直接访问外部类的私有成员变量,但是外部类不能直接访问内部类的私有成员变量,必须把外部类声明为内部类的友元类 /********************************** ...
 - 受检查异常要求try catch,new对象时,就会在堆中创建内存空间,创建的空间包括各个成员变量类型所占用的内存空间
		
,new对象时,就会在堆中创建内存空间,创建的空间包括各个成员变量类型所占用的内存空间
 - ios属性和成员变量写在.h文件和.m文件中  区别?
		
1 其实是一样的.在.m文件上只能.m文件内部的才能访问的这个变量,如果在.h文件中,其他的文件也可以访问到这个变量. 2 写.h文件里边可以和其他的类进行交互,写.m里边只是在本类中使用! 3 ...
 - iOS中属性与成员变量的区别
		
一.类Class中的属性property 在ios第一版中,我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: @interfa ...
 - 【转】iOS中属性与成员变量的区别
		
[转载自并整理 http://blog.csdn.net/itianyi/article/details/8618128] 一.类Class中的属性property 在ios第一版中,我们为输出口同时 ...
 - Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量
		
首先看个例子: package zm.demo; public class Demo { private int Id;//成员变量(字段).实例变量(表示该Id变量既属于成员变量又属于实例变量) p ...
 - 编写Java程序,创建Dota游戏中的兵营类,兵营类有一个类成员变量count、一个实例变量name和另一个实例变量selfCount。
		
返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数: ...
 - [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域
		
A. 命令行编译和XCode编译 1.在存在多个.m源码实现文件的情况下,若根据需要引入.m文件,使用命令行仅仅编译主.m文件即可,但是XCode会同时编译全部.m文件,会发生编译错误(重复定义全局变 ...
 
随机推荐
- java编程思想
			
Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而且在大型项目开发中也是常用的知识,既有简单的概念理 ...
 - CF---(452)A. Eevee
			
A. Eevee time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...
 - 用js实现返回上一页
			
<a href="javascript :;" onClick="javascript :history.back(-1);">返回上一页</ ...
 - BroadcastReceiver的简介
			
BroadcastReceiver本质上属于一个监听器,因此实现BroadcastReceiver的方法只要重写BroadcastReceiver的onReceive(Context context ...
 - SQL远程创建数据库
			
CREATE PROCEDURE [dbo].[p_CreateDB] @Des_DB sysname, @ServerName sysname=N'', @UserName sysname= ...
 - 关于jquery计算页面元素数量
			
这段jquery计算页面元素数量代码,能不能刷新页面直接输出数量,而不用点计算按钮 <scriptsrc="http://ajax.googleapis.com/ajax/libs/j ...
 - RHEL 6.3安装(超级详细图解教程)[转载]
			
附:RHEL6.3下载地址 32位:http://rhel.ieesee.net/uingei/rhel-server-6.3-i386-dvd.iso 64位:http://rhel.iee ...
 - PhpStorm  WebMatrix xDebug 配置开发环境
			
1.首先下载WebMatrix安装程序,下载地址 http://www.microsoft.com/web/webmatrix/ 安装步骤 参考:http://www.jb51.net/softjc ...
 - (DFS)hdoj1175:连连看
			
题目链接 这道题被稍微改编当作过去年的期末上机题,也被直接放到了这次这一届的第二次练习赛.当初刚看到这道题时DFS并没有系统的学过,做起来极其费劲.现在学过之后开始实践练习,发现这道题真的是很水. 我 ...
 - cmd的xcopy命令
			
C#项目的PostEvent里经常会用到xcopy命令,复制目录时容易出错,如下: xcopy sourceDir targetDir,其中的2个目录最后不能有反斜杠"",而目录类 ...