• (iOS)关于@property和@synthesize的理解(原创)


      开始学习ios的时候,就对一些objc的语法不理解,就比如@property和@synthesize,之前都是记住然后照着用,但是写的代码多了,对objc和ios有了一些理解,再加上最近用MRC,所以在各种内存检测和变量使用的过程中,探讨了一下,最终对它们的作用有了一定了解。

      一般@property和@synthesize是搭配使用的,用@property声明的变量,系统默认给他们做了setter和getter处理。

      property可以声明属性的各种属性。

      1.声明属性的访问方法:

    • getter=getterName
    • setter=setterName
      声明访问属性的设置与获取方法名。

      2.声明属性写操作权限:

    • readwrite
      声明此属性为读写属性,即可以访问设置方法(setter),也可以访问获取方法(getter),与readonly互斥。
    • readonly

      声明此属性为只读属性,只能访问此属性对应的获取方法(getter),与readwrite互斥。

      3.声明写方法的实现

      4.访问方法的原子性

      关于原子性,大家可以查一下操作系统的原子性操作。

      @synthesize 中可以定义 与变量名不相同的getter和setter的命名,籍此来保护变量不会被不恰当的访问。

      功能:让编译好器自动编写一个与数据成员同名的方法声明来省去读写方法的声明。

  • 相关阅读:
    Serverless Kubernetes入门:对kubernetes做减法
    Quick BI的宝藏工具——交叉表
    Quick BI的SQL传参建模可以用在什么场景
    Quick BI支持哪些数据源(配置操作篇)
    注册 asp.net IIS
    js Date 生成某年某月的天数
    IOC AOP 设计模式
    stuff for xml path
    使用Sencha Cmd创建脚本框架
    Extjs Ext.TreePanel
  • 原文地址:https://www.cnblogs.com/hikoming/p/3504691.html
Copyright © 2020-2023  润新知