当前位置: 首页 > news >正文

网站主页 内页 关键词 一样网站开发宣传

网站主页 内页 关键词 一样,网站开发宣传,施工企业合规风险识别与管理,网站建设与网页设计案例教程众所周知#xff0c;变量是用来存储数据的 围绕着变量#xff0c;有很多知识点#xff0c;总结归纳一下 变量的类型变量的作用区域局部变量全局变量静态变量变量的访问范围属性成员变量实例变量synthesizedynamic… 变量的类型 变量大致分为两大类型#xff1a; 基本数据…众所周知变量是用来存储数据的 围绕着变量有很多知识点总结归纳一下 变量的类型变量的作用区域局部变量全局变量静态变量变量的访问范围属性成员变量实例变量synthesizedynamic… 变量的类型 变量大致分为两大类型 基本数据类型非基本数据类型指针/对象/Class类型 基本数据类型包括 int/float/double/bool/enum/struct NSIntegertypedef long NSInteger; CGFloat: typedef CGFLOAT_TYPE CGFloat; 而CGFLOAT_TYPE的定义是 #if defined(__LP64__) __LP64__# define CGFLOAT_TYPE double#else# define CGFLOAT_TYPE float#endif也就是CGFloat就是float或double依然是基本数据类型 bool、BOOL、boolean bool其实就是C语言中的bool BOOL: typedef bool BOOL; 也就是BOOL和bool没有任何区别 apple官方文档关于BOOL的定义 Booleantypedef unsigned char Boolean;(进入Xcode可以看到) 非基本数据类型 存储的指针类型的变量类型也就是存储的是地址的变量类型 变量的作用区域 根据变量写在的位置不同有不同的作用区域 全局变量在全局写的变量整个文件都可以访问该变量 局部变量在函数内部的变量只有该函数内部才能访问出了作用域不可访问 以上默认都是auto修饰 静态变量使用static修饰的全局变量或局部变量 静态局部变量 可以延迟变量的生命周期本来是在大括号就回收的变量其生命周期可以延迟至程序结束只初始化一次 静态全局变量只有当前类可以访问该变量 //测试static - (void)testStatic {int c 1;static int d 1;for(int i 0; i 3; i){int a 1;printf(int a变量为 %d \n,a);a;static int b 1;//因为static变量只初始化一次所以第二次for循环及以后都不执行这一句代码printf(static int b变量为 %d\n,b);b;printf(int c变量为 %d \n,c);c;printf(static int d变量为 %d \n,d);d;} }打印结果 int a变量为 1 static int b变量为 1 int c变量为 1 static int d变量为 1 int a变量为 1 static int b变量为 2 int c变量为 2 static int d变量为 2 int a变量为 1 static int b变量为 3 int c变量为 3 static int d变量为 3 auto register static extern auto auto: 表明变量具有自动存储类型 auto说明符只能用在具有代码块作用域的变量的声明中, 但是由于这类变量本身就具有自动存储类型(存储于运行时堆栈中), 所以auto通常只是起显式说明的作用. register register: 表明变量具有硬件寄存器存储类型 register也只能用在具有代码块作用域的变量的声明中, 表示程序员希望将该变量放在CPU的寄存器中, 从而可以比普通变量更快的访问和操作该变量. 但是无法获得寄存器存储类型的变量的地址, 并且具体是否会将register声明的变量存放于寄存器中由编译器决定 register声明的变量常称为寄存器变量 static static: 表明变量具有静态存储类型或则标识符具有内部链接属性 extern extern: 表明标识符具有外部链接属性或者该变量在别处定义 static修饰函数 static修饰的函数是一个内部函数只能在本文件中调用其他文件不能调用 变量的访问范围 变量根据访问访问可以分为public、protected、private、package public 声明为 public 的实例变量是访问控制中开放范围最广的其允许外界可以直接访问当然前提是引入包含该声明的头文件。 protected 声明为 protected 的实例变量只能在本类、本类的分类以及子类中使用。注意当不使用任何访问控制修饰符时类中实例变量默认即为 protected注意类扩展中是个例外详见「类扩展」一节 private 声明为 private 的实例变量是访问控制中开放范围最小的只能被本类和本类的分类访问到子类中也无法访问。在类声明中的属性property系统会自动为我们创建一个 _ 开头的实例变量这个实例变量的可见程度默认也是 private。 package 同一个“体系内(框架)可以访问介于private和public之间 属性、成员变量、实例变量 属性 属性property是指的右property建立的 例如property (copy, nonatomic) NSString *postId; property负责三个事情 set,get方法的声明set,get方法的实现生成_postId的实例变量 成员变量 成员变量指的是 interface {int age;NSObject *obj1; } end大括号中间的内容 实例变量 实例变量ivarinstance variables指的是{}中是对象的一类也就是有指针的非基本数据类型。例如NSObject *obj1; 也就是说成员变量 实例变量 基本数据类型变量 需要注意⚠️的是如果既有成员变量又有属性则先写成员变量再写属性 参考:OC中属性和成员变量一概念篇 也有资料说成员变量 实例变量 属性property 实例变量ivar 成员变量的英文单词是 synthesize synthesize: 合成 Xcode4时property只能在.h中生成getter、setter方法的声明, 需要在.m中手动加上synthesize才会有setter\getter的实现以及对应的变量_property Xcode4之前 : property setter方法声明 getter方法声明 synthesize ivar setter实现 getter实现 在之前的OC中写一个property还需要对应写一个synthesize synthesize age _age; 其作用是将你写的age属性和_age成员变量联系起来(synthesize 合成访问器方法) 既是生成成员变量方法实现也是将成员变量和属性关联起来 现在Xcode不需要写synthesize age _age;在写property的时候会自动给加上 从Xcode5开始, 编译器有了自动合成机制(Auto property synthesis)只写property就可以自动生成_property成员变量和getter、setter方法的声明和实现, 不需要写synthesize了。 Xcode5之后, 其实property和synthesize的职责没变,只是编译器会默认添加synthesize, 真实的情况还是 : property setter方法声明 getter方法声明 默认添加的synthesize ivar setter实现 getter实现 ----看起来变成了 property ivar setter(声明实现) getter(声明实现) 自动合成机制(Auto property synthesis) 如果我们既没有写synthesize也没有写dynamic那编译器默认会为我们添加synthesize property _property; 如果不存在_property则会创建一个_property成员变量 如果存在则不会添加成员变量 因此在类内部我们可以使用 _property 来进行赋值、取值操作。 synthesize到底对属性干了什么, 使用场景总结 但自动合成机制有时候会失效 什么情况下自动合成会失效 同时重写了属性的setter和getter时;重写了只读属性的getter时;使用了dynamic时;在 protocol 中定义的所有属性;在category 中定义的所有属性;父类已有的属性, 子类重载的属性不会自动合成; 现在synthesize的作用是 需要给属性起个别名手动添加了 setter/getter 方法实现了带有peoperty属性的protocol dynamic dynamic告诉编译器: 属性的setter,getter方法由用户自己实现, 不自动生成 使用dynamic age;就不会自动生成age的setter/getter方法的实现也不会自动生成成员变量(ivar)。 需要注意的是age的setter/getter方法的声明是不受影响的。
http://www.w-s-a.com/news/744292/

相关文章:

  • .net网站架设凯里网站建设哪家好
  • seo网站建站建站国外百元服务器
  • 家具网站开发设计论文企业网站里面的qq咨询怎么做
  • 网站视频提取软件app淘宝店购买网站
  • 站长之家域名解析做百度推广网站咱们做
  • 行业 网站 方案莱州网站建设公司电话
  • 丹东谁做微网站威海网络科技有限公司
  • 寻找网站建设_网站外包自助打印微信小程序免费制作平台
  • 台式机网站建设vk社交网站做婚介
  • 创建网站得花多少钱网站建设的技术路线
  • 图书馆网站建设汇报免费编程软件哪个好用
  • 手机搭建网站工具网站搜索引擎优化的基本内容
  • 网站快速排名二手交易网站开发技术路线
  • 官方网站开发公司施工企业会计王玉红课后答案
  • 网站建设能用手机制作吗网站建设所需物资
  • 阜阳做网站的公司阳江招聘网最新消息
  • 织梦可以做哪些类型型网站wordpress 融资
  • 建设银行手机银行官方网站下载安装腾讯企点账户中心
  • 品牌设计网站有哪些商务网站建设平台
  • 新增网站备案时间什么是软件外包产业
  • 张家界做网站买了网站模版怎么做
  • 六安品牌网站建设怎么样知名商城网站建设报价
  • 怎么上传自己做的网站杭州网站建设公司平台
  • 网站开发程序是什么知名的电子商务网站
  • 做pc端网站好么平台推广是什么意思
  • 农业信息网站建设意义淘宝官网首页网址
  • 重庆网站设计公司价格贵阳网站建设app开发
  • dw做网站怎么换图片编写网页所用的语言是
  • 外贸网站收录工具个人网站的备案
  • 正规的网站建设工作室海外高延迟服务器做网站