IOS面试题object-c 91-100

news/2024/7/20 22:22:46 标签: ios, object-c, 面试题
91. 简述Object-C中nonatomic与atomic有什么区别?
atomic是Objective-C使用的一种线程保护技术,它是为了防止写操作在未完成的时候被另外一个线程读取。从而造成数据错误。这种机制是非常耗费系统资源的,所以在iphone这种小的移动设备上,如果没有使用多线程间的通讯编程。建议使用nonatomic。

默认的访问器是原子操作,就是说在多线程环境下,解析的访问器提供一个对属性安全访问,从获取器得到的返回值或者通过设置器设置的值可以一次完成,即便是多线程也在对其进行访问,如果不指定nonatomic ,在自己管理内存的环境中,解析的访问器保留并自动释放保留的值,如果是指定了nonatomic,访问器只是简单的返回一个值。
🚀🚀🚀🚀🚀🚀
 92. @property(copy)NSMutableArray *array;这句代码有什么问题?
(1)添加、删除、修改数组内的元素的时候,程序会因为找不到对应的方法而崩溃,因为copy就是复制一个不可变的NSArray对象。

(2)没有使用nonatomic属性修饰符,默认是 atomic修饰,这样会严重影响性能

http://www.niftyadmin.cn/n/5422768.html

相关文章

SPEL表达式及注入漏洞

SPEL,全称为Spring表达式语言,是一个由 Spring 框架提供的表达式语言。它是一种基于字符串的表达式语言,可以在运行时对对象进行查询和操作。 SpEL 支持在XML和注解配置中使用,它可以在Spring框架的各种组件中使用,如Spring MVC …

基于云效构建部署Springboot项目到ACK

介绍 为了提高项目迭代的速度加速交付产品给客户,我们通常会选择CICD工具来减少人力投入产生的成本,开源的工具比如有成熟的Jenkins,但是本文讲的是阿里云提高的解决方案云效平台,通过配置流水线的形式实现项目的快速部署到服务器…

RabbitMQ详解与常见问题解决方案

文章目录 什么是 RabbitMQ?RabbitMQ 和 AMQP 是什么关系?RabbitMQ 的核心组件有哪些?RabbitMQ 中有哪几种交换机类型?Direct Exchange(直连交换机)Topic Exchange(主题交换机)Headers Exchange(头部交换机)Fanout Exchange(广播交…

HybridCLR热更新介绍

官方文档 参照视频 HybridCLR介绍 HybridCLR是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案 HybridCLR与ToLua/XLua、ILRuntime有什么不同 什么是游戏热更新:有热更的游戏更新流程 游戏热更新的种类 资源热更新:主要…

python 服务

fast api 服务 依赖安装: pip install fastapi unicorn import json from fastapi import FastAPI import os os.environ[TZ] Asia/Shanghai async def call_http_get_service(url): async with aiohttp.ClientSession() as session: async with session.get(…

【C++精简版回顾】21.迭代器,实现迭代器

1.什么是迭代器&#xff1f; 用来遍历容器&#xff0c;访问容器数据。 2.迭代器使用 1.初始化 //初始化 list<int> mylist;//list的整数对象 list<int>::iterator iter;//list内部类&#xff0c;迭代器对象(正向输出) list<int>::reverse_iterator riter;//…

Spring Boot启动时执行初始化操作的几种方式

场景 项目中&#xff0c;经常需要在启动过程中初始化一些数据&#xff0c;如从数据库读取一些配置初始化&#xff0c;或从数据库读取一些热点数据到redis进行初始化缓存。 方式一:实现CommandLineRunner 接口重写run方法逻辑 CommandLineRunner是Spring提供的接口&#xff0…

Python 利用Pydantic模块提升开发效率

文章目录 Pydantic 核心概念pydantic 核心功能BaseModel 模型Field 类Config 类基础类型验证必填字段验证长度验证大小验证枚举值验证容器验证自定义验证器嵌套模型JSON 数据导入ORM 数据导入总结 Pydantic 核心概念 Pydantic 是一个数据验证和设置管理库&#xff0c;它的核心概…