E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
MutableCopy
iOS自定义对象Copy和
mutableCopy
默认Foundation框架NSString、NSDictionary、NSArray类都可以调用copy和
mutableCopy
实现拷贝原因是因为这些类遵守了NSCopying,NSMutableCopying
CoderHong
·
2023-03-09 13:34
【iOS开发】另类角度分析 OC 中的 Copy 和
MutableCopy
前言网上有很多关于copy和
mutableCopy
的文章,讲的很详细。但是我发现一个问题,每次看这些文章的时候感觉已经理解了,可是过了一段时间后,对两者理解就会变得模糊,这使得我感到很困惑。
未来计划
·
2023-02-19 00:40
拷贝与内存管理
关于深拷贝和浅拷贝的总结理解本质上我认为区别在于复制是是指针复制(浅拷贝)还是复制到新的地址上(深拷贝)实际应用(yltest中有具体代码)*大体上会区分为对象和容器两个概念,对象的copy是浅拷贝,
mutablecopy
hoggenWang
·
2023-02-07 12:43
深拷贝和浅拷贝的问题
根据网上大牛博主所言,除了不可变对象的copy为浅拷贝,其他情况(可变,不可变的
mutableCopy
,可变的copy)均为深拷贝。浅拷贝:拷贝对象内存地址而不拷贝本身(两个指针指向同一块内存)。
CatAllCat
·
2023-02-06 02:43
《OC高级编程》之自动引用计数(一)
内存管理/引用计数思考方式自己生成的对象,自己所持有非自己生成的对象,自己也能持有不再需要自己持有的对象时释放非自己持有的对象无法释放对象操作OC方法生成并持有对象alloc/new/copy/
mutableCopy
毛线sama
·
2023-02-05 14:41
Mac OS 开发
[NSFileManagerdefaultManager]URLsForDirectory:NSAllApplicationsDirectoryinDomains:NSLocalDomainMask]
mutableCopy
文溪早睡
·
2023-02-05 05:14
【原创】iOS初学者容易理解错误的几个问题
至于错误的理解,有很多种:1.
mutableCopy
是深拷贝,copy是浅拷贝。2.浅拷贝是指针复制,深拷贝是内存复制(很多同学的原话)。下面就来仔细说说深拷贝和
谢特诞生了
·
2023-02-04 23:04
weak、assign、strong、copy、
mutableCopy
weak:不会引起引用计数增加,并且在对象释放后会自动把指针置nilRuntime维护了一个weak表(hasn散列表),用于存储指向某个对象的所有weak指针,该散列表的可以为所指对象的地址,value为指向当前对象所有weak修饰变量指针的数组idobj=[[NSObjectalloc]init];(OC中未指定修饰符的对象默认__strong修饰)id__weakobj1=obj(把当前赋值
稻草人娃娃
·
2023-02-04 02:52
OC 数组
mutableCopy
能不能把数组里边的对象深拷贝?
一.数组深拷贝,数组中对象不实现NSCopying协议Person类@interfacePerson:NSObject@end#import"Person.h"@implementationPerson@end使用Person*p=[[Personalloc]init];NSMutableArray*array=[NSMutableArrayarrayWithObject:p];NSMutable
再好一点点
·
2023-02-02 16:46
copy、
mutableCopy
与浅拷贝、深拷贝
1.先来看一段代码NSArray*array;NSMutableArray*arrM=[NSMutableArrayarrayWithObjects:@"a",@"b",@"c",nil];array=arrM;NSLog(@"-----%@",array);[arrMaddObject:@"d"];NSLog(@"=======%@",array);//输出结果:-----(a,b,c)====
SimpleSJ
·
2023-02-02 02:09
iOS 系统自带字体
打印系统字体代码NSMutableString*str=@"\n".
mutableCopy
;for(NSString*fontFamilyNamein[UIFontfamilyNames]){[strappendFormat
混不吝丶
·
2023-02-01 20:07
OC中的属性修饰符
拷贝函数有copy和
mutablecopy
,调用copy时,不管是NSString、N
紫藤花的魂
·
2023-01-31 19:50
copy与
mutablecopy
一、copy与
mutablecopy
的区别?
扬起帆前行
·
2023-01-31 10:45
WKWebView 中文链接问题
letcharSet=CharacterSet.urlQueryAllowedasNSCharacterSetletmutSet=charSet.
mutableCopy
()as
周无恋
·
2023-01-30 19:29
iOS中修饰词
1.copy和
mutableCopy
我们先对一个字符串做copy和
mutablecopy
操作,看得到的是什么NSString*str1=[NSStringstringWithFormat:@"123"]
海上飞鸟
·
2023-01-30 03:27
《OC高级编程》之自动引用计数(三)
strong修饰符 2次调用objc_msgSend方法(alloc和init),变量作用域结束时通过objc_release释放对象,编译器自动插入release 用除alloc/new/copy/
mutableCopy
毛线sama
·
2023-01-29 03:38
iOS深拷贝和浅拷贝
1.非集合对象的copy与
mutableCopy
1.1NSString探究-(void)stringDemo{NSString*string=@"str1";//copy返回的是不可变对象,str2不能被修改
小猪也浪漫
·
2023-01-28 18:43
__cf_tsanReadFunction ___Copy &
MutableCopy
__cf_tsanReadFunction可变字典的内存分4个部分:Classisa:代表类实例的类型id*buffer:指向可变字典保存的键值对structstate:代表可变字典的各种状态used代表已经使用的空间大小,与开发者常用的count属性对应mutbits代表对字典变更的次数。初始化时是1,增删会加1szidx通过搭配常量数组__NSDictionarySizes,获取字典的容量co
Xavier丶xie
·
2023-01-28 16:34
iOS内存管理(-)
内存管理1.自己生成的对象,自己持有(alloc/new/copy/
mutableCopy
)2.非自己生成的对象,自己也能持有(retain)3.释放不再需要自己持有对象(release)4.非自己持有的对象无法释放
龙猫六六
·
2023-01-26 23:47
浅拷贝/深拷贝
概念浅拷贝:指的是对象内存地址又多了一个引用,也就是说,拷贝之后,两个对象的值不仅相同,而且对象所指的地址也一样单层深拷贝:对于不可变容器对象(NSArray,NSSet,NSDictionary),进行
mutableCopy
22点的夜生活
·
2023-01-25 21:14
Objective-C 浅拷贝、深拷贝、完全拷贝
copy、
mutableCopy
和容器拷贝总结:copy对于可变对象为深拷贝,对于不可变对象为浅拷贝。
mutableCopy
始终是深拷贝。对容器进行拷贝,容器内元素始终为浅拷贝。
愤斗的小蚂蚁
·
2022-10-12 15:54
【iOS】引用计数
使用引用计数,对象就能得到很好的管理,这就是Objective-C的内存管理,如下图所示:图中过程对应的oc方法:生成对象:通过alloc/new/copy/
mutableCopy
等方法生成对象;持有对象
瓯海剑
·
2022-09-26 17:44
ios
objective-c
xcode
iOS:copy的本质
一、基本概念就iOS开发而言,关于copy的几个概念:拷贝:即复制,目的是产生副本,让原对象和副本相互独立,互不影响;不可变拷贝:即copy方法,无论原对象是否可变,都产生不可变副本;可变拷贝:即
mutableCopy
康小曹
·
2022-09-19 09:37
swift 单例
myManager()privateinit(){}functest(){print("这是单例")}}调用myManager.shared.test();当然如果继承于NSObject,则需要重载copy和
mutableCopy
思忆00000
·
2022-05-30 10:20
知识巩固之 copy 与
mutableCopy
核心思想:1.Copy&
mutableCopy
都是产生一个与源对象互不影响的副本。
Just丶Go
·
2022-02-22 05:21
iOS中的深、浅、可变、不可变copy
的问题引发了组员之间的激烈探讨,这时有位号称selfStrong的同学跑出了他的必杀技--葵花宝典,说关于深浅拷贝的问题,看这张表就行了:看到这张表,卧槽,这不就是当时教我们的口诀吗:“copy-指针拷贝-浅拷贝,
mutableCopy
tongxyj
·
2022-02-20 21:44
NSString为什么要用copy关键字,如果用strong会有什么问题 OC中的深拷贝与浅拷贝
首先说一下深拷贝和浅拷贝,深拷贝是内存拷贝,浅拷贝是指针拷贝写代码的时候有两个copy方法-(id)copy;-(id)
mutableCopy
;copy出的对象为不可变类型
mutableCopy
出的对象为可变类型
保持前行
·
2022-02-19 18:51
获取中文对应拼音
NSMutableString*pinyin=[@"惠州"
mutableCopy
];//将汉字转换为拼音(带音标)CFStringTransform((__bridgeCFMutableStringRef
然亦伞
·
2022-02-19 13:46
Copy和
MutableCopy
的区分
预备知识内存的栈区:由编译器自动分配释放存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈内存的堆区:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,主要以他与数据结构中的堆是两码事,分配方式倒是类似于链表关于浅拷贝,简单来说,就像是人与人的影子一样,也可以说是指针拷贝,而深拷贝就像是我们人类,虽然都是被统一称为人,但是人与人之间是相互独立的,也可以说是内容拷贝,会产
大白简先生
·
2022-02-19 06:05
iOS 中的深拷贝与浅拷贝
一.copy与
mutableCopy
方法要注意的是,我们并不能单纯地把copy和
mutableCopy
认为是浅拷贝和深拷贝。对于copy来说,被拷贝
苏东没有坡
·
2022-02-18 17:51
iOS中的深浅拷贝
网上帖子很多,说法却都不一,很容易把人绕晕,还列了各种表格,我认为记那些结论意义不大,要想彻底搞明白深浅拷贝,不犯晕,核心要记住五个概念:深拷贝、浅拷贝、copy方法、
mutableCopy
方法、copy
树袋熊老公
·
2022-02-17 01:37
iOS对象复制(copy与
mutableCopy
)
NSObject类提供了copy和
mutableCopy
方法,通过这两个方法即可复制已有对象的副本,本文将会详细介绍关于对象复制的内容。
Davis_
·
2022-02-16 21:28
《Objective-C高级编程-iOS与OS+X多线程和内存管理》读书笔记
非自己生成的对象,自己也能持有不再需要自己持有的对象时释放非自己持有的对象无法释放对象操作Objective-C方法生成并持有对象alloc/new/copy/
mutableCopy
等持有对象retain
极客学伟
·
2022-02-14 19:58
AutoreleasePool
首先我们明确什么对象会自动加入autoreleasepool:MRC下需要对象调用autorelease才会入池,ARC下可以通过__autoreleasing修饰符,否则的话看方法名,通过调用alloc/new/copy/
mutablecopy
周二可
·
2022-02-12 14:49
部分简单排序
调用测试//testNSMutableArray*arr=[@[@"3",@"5",@"4",@"2",@"6"]
mutableCopy
];//arr=[[selfinsertionSortWithArray
过江鸟iOSer
·
2022-02-12 05:11
iOS面试篇--浅拷贝和深拷贝和copy关键字
正文一、关于浅拷贝和深拷贝让我们来做一组实验:1,非容器不可变对象的copy和
mutablecopy
图1打印结果:图2zifuchuan和copystr的地址都是0x10070b0e0说明对zifuchu
MrGan先生
·
2022-02-11 01:38
KVO,copy/
mutableCopy
, runloop
KVO实现原理1.KVO是基于runtime机制实现的2.当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter方法。派生类在被重写的setter方法内实现真正的通知机制3.如果原类为Person,那么生成的派生类名为NSKVONotifying_Person4.每个类对象中都有一个isa指针指向当前类,当一个类对象的第一
玉米须须
·
2022-02-10 01:01
iOS 浅谈Strong、Copy 和
mutableCopy
在iOS的王国里,Strong、Copy和
mutableCopy
在我们的使用过程中,缺一不可的。接下来来介绍一下它们之间的关系和注意点。
Flame_Dream
·
2022-02-07 13:41
浅拷贝,深拷贝以及全拷贝
我这篇文章说的也不是什么高深技术点,只是个小细节的东西,平时能注意到就行系统的那些对象如:NSString,NSDictionary,NSArray以及他们的子类等,都可以直接使用copy和
mutableCopy
叮咚强
·
2022-02-06 23:03
关于iOS中深浅拷贝的理解
在iOS开发过程中,我们要对某个对象进行拷贝的时候,一般会用copy和
mutableCopy
两种方法,在刚接触iOS的时候,我一般把copy称为浅拷贝,
mutableCopy
称为深拷贝,但是随着不断踩坑
程序后媛团
·
2022-02-06 22:16
OC使用copy和
mutableCopy
的区别
浅拷贝:本质就是指针拷贝->不会开辟新的内存空间浅拷贝就是拷贝指向原来对象的指针,使原对象的引用计数+1,可以理解为创建了一个指向原对象的新指针而已,并没有创建一个全新的对象。深拷贝:本质是对象拷贝(内容拷贝)->会开辟一个新的内存空间深拷贝就是拷贝出和原来仅仅是值一样,但是内存地址完全不一样的新的对象,创建后和原对象没有任何关系。本质区别在于:1⃣️是否开启新的内存地址2⃣️是否影响内存地址的引
coming_168
·
2022-02-05 03:48
oc 浅拷贝与深拷贝
自定义对象、容器对象几种:对象类型copymutableCopy不可变对象浅拷贝深拷贝可变对象深拷贝深拷贝自定义对象深拷贝深拷贝容器对象浅拷贝深拷贝例子参考:iOS开发——深拷贝与浅拷贝详解注解:所有
mutableCopy
George_Luofz
·
2022-02-05 03:40
Objective-C中copy与
mutableCopy
问题
先说下概念,我们对变量的复制,其实就是在写代码的过程中,再定义多几个不同名字的变量,让他们都“等于”某一个变量,这个过程我认为就是我们平常说的“复制”。基本数据类型对于基本数据类型,如int,double,BOOL这些,在赋值的过程中就是真正意义上的复制了,赋值时不仅把值传递到新的变量中,而且新的变量也重新开辟了内存,使得原来的变量和后来的变量所指的不是同一块内存,就如同现实中真的复制(克隆)了一
TonyGor
·
2022-02-04 19:24
老虎书内存管理整理和摘录
使用alloc/new/copy/
mutableCopy
生成的对象是自己生成并持有使用retain方法持有非自己生成的对象使用release释放自己不需要持有的对象,1和2两种方式持有的对象都可以通过3
小白猿
·
2022-02-03 08:44
iOS - copy、
mutableCopy
的学习心得
最近看了网上很多人的博客和讲解,有些地方不是太明白、自己整理下1、copy的对象一般可以分为容器对象(例如Array类),和非容器对象(例如NSString类)。2、一般常用的copy数组、字典、字符串、类对象这些。下边会一个个的去研究一、数组(1)不可变数组NSArray*tempArr=[NSArrayarrayWithObjects:@"111",nil];NSArray*tempArr2=
表弟1616
·
2022-01-07 11:51
内存管理面试题
,当引用计数减为0,OC对象就会销毁,释放其占用的内存空间调用retain会让OC对象的引用计数+1,调用release会让OC对象的引用计数-1内存管理的经验总结当调用alloc,new,copy,
mutableCopy
十里杏坡
·
2021-08-18 22:35
感悟
3.判断可变数组/字典是否存在:if(self.Array.count==0){self.Array=[@[]
mutableCopy
萨缪
·
2021-07-06 17:03
iOS 对象在什么时候释放?
一般得说法是对象会在当前作用域,也就是大括号结束时释放但是以alloc,copy,
mutableCopy
和new这些方法创建的会被默认标记下面得属性注解:在ARC下,返回值为对象的方法或者函数时,将会在函数
zxb_张大帅
·
2021-06-24 14:13
自定义对象 实现 Copy 和
MutableCopy
如果是我们定义的对象,那么我们自己要实现NSCopying,NSMutableCopying这样就能调用copy和
mutablecopy
了。
pengchaochao
·
2021-06-22 10:54
深拷贝和浅拷贝
1、如果开始是可变的(nsmutablestring)-copy和
mutablecopy
之后都会产生新的对象,生成两块内存。
一直努力奋斗的女程序员
·
2021-06-21 05:05
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他