Objective C 属性简单理解

简介: Objective C 属性简单理解

Oc语言中,属性的语法如下

@property (特性) 类型 属性名称;

Oc编译器会自动生成 :类型 _名称 这样的私有属性

属性的特性

在Oc中,属性支持很多中特性

atomic

atomic作为oc属性的默认特性,简单的理解为原子属性,就是多线程下,可以安全访问,不会有线程安全的问题。但是效率不会太好。

noatomic

noatomic是非线程安全的,可以多个线程同时去读写,性能会比atomic好,但是多线程下可能会导致一些问题。

readwrite和readonly

从字面意思就可以看出来,一个是可读写,一个是只读,readwrite是默认值,如果设置为readonly,那么盖属性无法被赋值,只能读取。

内存管理

在早期的IOS开发中,内存管理的方式是MRC(大概意思就是手动管理内存的开辟和释放),但是IOS5之后,引入了ARC(自动释放),现在最新已经IOS14+了。所以除了面试,一般情况下不用考虑MRC了。

在ARC下,内存管理相关的几个特性有 strong weak assign copy等。

strong

是属性的默认特性,设置为strong的时候

目录
相关文章
|
负载均衡 算法 druid
【Java多数据源实现教程】实现动态数据源、多数据源切换方式(下)
【Java多数据源实现教程】实现动态数据源、多数据源切换方式(下)
1459 0
|
机器学习/深度学习 移动开发 算法
【算法专题】贪心算法的介绍及使用场景
【算法专题】贪心算法的介绍及使用场景
【算法专题】贪心算法的介绍及使用场景
|
10月前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
10月前
|
JavaScript 数据安全/隐私保护 Python
python爬取m3u8实战!!
本文详细介绍了如何抓取和处理m3u8视频文件,包括从网页源代码中提取m3u8文件地址、下载m3u8文件及其对应的ts片段、处理加密的ts文件以及使用ffmpeg合并视频片段。通过多线程下载和文件路径处理,确保了高效和准确的视频抓取与合并。文中还提供了具体的Python代码示例,帮助读者理解和实现整个过程。
741 1
|
网络安全
LabVIEW崩溃问题解决方法
LabVIEW崩溃问题解决方法
495 0
|
存储 前端开发 Java
从前端到后端:构建响应式网站的全栈技术探索
本文将深入探讨如何从前端到后端构建一个响应式网站,涵盖了多种技术。我们将从前端开发的基础知识出发,逐步介绍后端开发和各种编程语言(如Java、Python、C、PHP、Go)在构建响应式网站中的应用。同时,还将讨论数据库的重要性以及如何与前后端进行数据交互。本文旨在为读者提供全面的全栈技术知识,帮助他们构建功能强大且用户友好的网站。
|
人工智能 自然语言处理 Kubernetes
LLM 技术图谱(LLM Tech Map)& Kubernetes (K8s) 与AIGC的结合应用
LLM 技术图谱(LLM Tech Map)& Kubernetes (K8s) 与AIGC的结合应用
524 0
|
网络安全 数据安全/隐私保护
CSRF 和 XSS 理解
CSRF 和 XSS 理解
459 0
|
SQL 存储 关系型数据库
MySQL - order by 出现 using filesort根因分析及优化
MySQL - order by 出现 using filesort根因分析及优化
383 0
|
存储 Shell Linux
ZooKeeper【部署 01】单机版安装+配置+添加到service服务+开机启动配置+验证+chkconfig配置+shell自动部署脚本(一篇入门zookeeper)
ZooKeeper【部署 01】单机版安装+配置+添加到service服务+开机启动配置+验证+chkconfig配置+shell自动部署脚本(一篇入门zookeeper)
1097 0