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 自动释放池内存实现
Autorelease概览谈到内存管理的第二条法则时,出现了使用非allow/new/copy/
mutableCopy
开头的方法生成的对象,比如:NSMutableArray*array=[NSMutableArrayarray
yuanmengong886
·
2020-08-04 09:53
iOS
Objective-C之 深拷贝和浅拷贝、copy和
mutableCopy
(可以验证下)
基础概念深拷贝和浅拷贝:是否会产生新对象深拷贝:内容拷贝,会产生新的对象浅拷贝:指针拷贝,不会产生新的对象copy和
mutableCopy
:对于产生的对象的可变性而言(前提是产生了新对象)copy出来的对象不可变
li15809284891
·
2020-08-03 19:25
objective-c
iOS: ARC & MRC下string内存管理策略探究
操作以后是否会发生变化,两个人整了半天,最后写代码验证了一下,发现原来NSString操作没我们想的那么简单,下面就让我们一起看看NSString和NSMutableString在MRC下执行retain,copy,
mutableCopy
weixin_34199335
·
2020-08-03 11:59
Objective-c中对象的Copy、
MutableCopy
、浅拷贝、深拷贝
对象的复制就是复制一个对象作为副本,他会开辟一块新的内存(堆内存)来存储副本对象,就像复制文件一样,即源对象和副本对象是两块不同的内存区域。对象要具备复制功能,必须实现协议或者协议,常用的可复制对象有:NSNumber、NSString、NSMutableString、NSArray、NSMutableArray、NSDictionary、NSMutableDictionarycopy:产生对象的
周伯通
·
2020-08-03 04:01
Objective—c基础
Objective-c学习基础
iOS面试题
copy和
mutableCopy
的区别?atomic和nonatomic的区别?什么是循环引用?weak和assign有什么不同?浅拷贝和深拷贝的区别?如何让自定义的对象具有拷贝功能?@
永不止步-Fighting
·
2020-08-02 12:56
iOS基础
iOS 深拷贝和浅拷贝
【注意】如果
mutableCopy
的是集合对象,深拷贝的是该集合对象,不是指该集合对象里面的元素,称之为单层深
远方的枫叶
·
2020-08-01 09:24
区别alloc、init、retain、release和dealloc之间的差异
1.alloc是创建变量,dealloc是释放变量,retain是计数加1,release是计数减1如果使用名字以alloc或new开头或名字中包含copy的方法(如alloc、newObject或
mutableCopy
Givenbmli
·
2020-07-31 22:05
细说@property(五)
copy和mutableCopycopy和
mutableCopy
之间的差异主要和深拷贝和浅拷贝有关,先看一下深拷贝、浅拷贝的概念。
Chen_JF
·
2020-07-31 22:28
NSString为什么要用copy关键字,如果用strong会有什么问题 OC中的深拷贝与浅拷贝
首先说一下深拷贝和浅拷贝,深拷贝是内存拷贝,浅拷贝是指针拷贝写代码的时候有两个copy方法-(id)copy;-(id)
mutableCopy
;copy出的对象为不可变类型
mutableCopy
出的对象为可变类型
gunmm
·
2020-07-31 22:56
OC基础笔记(2)
weak修饰时,控件销毁;当控件从父控件移除时,用strong修饰时,控件不会销毁,占用内存空间2.浅拷贝与深拷贝浅拷贝:指针拷贝,指向同一内存空间;深拷贝:产生新对象,内容不变,指针改变,新的内存空间
mutablecopy
a25b7436ee88
·
2020-07-31 22:04
【iOS】copy和
mutableCopy
NSStringNSString*str=@"copyandmutableCopy";NSLog(@"NSString:%@%p",NSStringFromClass([strclass]),str);NSString*copyStr=[strcopy];NSLog(@"NSStringcopy:%@%p",NSStringFromClass([copyStrclass]),copyStr);NS
iEzreal
·
2020-07-31 13:42
《禅与 Objective-C 编程艺术》读书拾遗
命名常量staticNSString*constZOCCacheNotification(尽量避免使用宏,除非真的需要用到她)with连接取代and字面量不可变集合尽量使用字面量赋值可变集合避免[@[]
mutableCopy
AliThink
·
2020-07-31 09:06
【转】copy 和
mutablecopy
(深拷贝和浅拷贝)
阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,
dawu9085
·
2020-07-30 14:38
iOS 浅拷贝与深拷贝结论
在非集合类对象中(NSString、NSMutableString),对不可变对象(NSString)进行copy操作,只仅仅是指针复制,进行
mutableCopy
操作,是内容复制。
就_这样
·
2020-07-29 17:05
iOS 内存管理总结
内存管理经验总结当调用alloc、new、copy、
mutableCopy
方法返回了
ios小蜗牛
·
2020-07-29 12:50
iOS - copy与
mutableCopy
图片源于网络浅拷贝与深拷贝浅拷贝:指针拷贝,不产生新的对象,源对象的引用计数器+1深拷贝:对象拷贝,会产生新的对象,源对象的引用计数器不变浅拷贝与深拷贝copy与mutableCopycopy:拷贝的结果是一个不可变(imutable)的对象,无论源对象是可变的还是不可变的,copy之后的都是不可变的类型不可变类型变量名=[不可变类型copy];不可变类型变量名=[可变类型copy];mutabl
SkyMing一C
·
2020-07-29 10:35
重写touchBegan,打印可视化响应链
#defineRESPONSE_CHAIN_PRINTING()\UIResponder*next=[selfnextResponder];\NSMutableString*prefix=@"-".
mutableCopy
ericoda
·
2020-07-29 05:47
OC中的 copy 和
mutableCopy
集合类OC中的集合类字典数组字符串set对于可变类型NSMutableArray*names=[NSMutableArrayarrayWithObjects:@"tian",@"zhang",nil];NSMutableArray*namesCopy=[namescopy];NSMutableArray*namesMutableCopy=[namesmutableCopy];NSLog(@"%p%
tianlei
·
2020-07-29 05:08
iOS中的拷贝
使用场景:当我们涉及到拷贝时,通常使用的就是copy和
mutableCopy
这两个方法。
思也007
·
2020-07-29 00:20
Objective C----手动管理内存和自动管理内存
Ø当程序调用方法名以alloc、new、copy、
mutableCopy
开头的方法来创建对象时,该对象的引用计数加1。Ø
Li0220
·
2020-07-28 06:23
iOS
iOS 深拷贝和浅拷贝
拷贝后的对象和原对象都指向同一块内存地址深拷贝是真正的复制了一份,复制的对象指向了新的内存地址浅拷贝就相当于自己的影子,而深拷贝则是克隆的你//注意//copy在拷贝不可变对象的时候为浅拷贝,但是拷贝可变对象的时候为深拷贝//
mutablecopy
最是光阴化浮末
·
2020-07-27 18:44
iOS - Copy
:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收.注意它与数据结构中的堆是两回事,分配方式倒是类似于链表.个人总结:栈区是编译器自动分配与释放内存、堆区是程序员进行分配与释放copy与
mutableCopy
平凡的世界01
·
2020-07-16 00:41
ios之浅谈深浅拷贝(copy,
mutablecopy
)
进入本主题之前首先需要了解一些准备知识!那就是地址与指针的关系:计算机的内存储器被划分为一个个的内存单元。内存单元按照一定的规则编号,这个编号就是存储单元的地址。地址编码的最基本单位是字节(一个字节由8个二进制位组成),也就是说每个字节就是一个基本内存单元,对应一个地址。计算机就是通过这种地址编码的方式来管理内存数据的,进行读写的操作。在程序中通过两种方式实现对内存的存取:一是通过变量,二是通过内
八匹马_BPM
·
2020-07-15 15:31
NSMutableString可变字符串
NSMutableString*s1=[NSMutableStringstringWithCapacity:0];//通过设置空间来创建字符串对象;NSMutableString*s3=[@"123"
mutableCopy
每日总结
·
2020-07-15 07:43
关于copy、
mutableCopy
的讨论(2)
上一篇是关于OC中字符串的copy、
mutablecopy
的讨论,本篇将对集合类型进行讨论,以NSArray为例带着问题我们进行如下讨论:测试代码1、NSArray的copyNSArray*arr=@[
hanl001
·
2020-07-15 07:57
单例类的创建
+静态方法,一般用share2.创建static类对象3.重写
mutableCopy
,copy,allocWithZone(类方法),init四个方法if(..
nalis风
·
2020-07-15 02:33
iOS算法总结-冒泡排序
平实写冒泡排序,我都是这么写的:-(void)logArray{NSMutableArray*arr=@[@16,@1,@2,@9,@7,@12,@5,@3,@8,@13,@10].
mutableCopy
方圆一里
·
2020-07-15 00:04
copy和
mutableCopy
//对象为可变字符串时NSMutableString*string=[NSMutableStringstring];[stringappendString:@"1"];[stringappendString:@"2"];//深拷贝NSString*str1=[stringcopy];//开辟新的内存产生不可变对象类型//深拷贝NSMutableString*str2=[stringmutableC
七里田间的守望者
·
2020-07-14 11:42
iOS 开发setValue:forKey:和-setObject: forKey的区别
NSMutableDictionary*dic=[@{@"name":@"小明"}
mutableCopy
];[dicsetObject:@"Men"forKey:@"gender"];[dicsetValue
Silence_xl
·
2020-07-13 09:51
@autoreleasepool性能测试及消除内存峰值
不用autoreleasepool-(void)doSomething{NSMutableArray*collection=@[].
mutableCopy
;for(inti=0;i#import"AppDelegate.h"intmain
dangxy丶
·
2020-07-13 05:02
iOS算法总结-插入排序
logInsertionSortingArray{NSMutableArray*arr=@[@(16),@(1),@(2),@(9),@(7),@(12),@(5),@(3),@(8),@(13),@(10)].
mutableCopy
方圆一里
·
2020-07-12 19:12
iOS - copy 与
mutableCopy
一说到拷贝,就不得不提浅拷贝和深拷贝。何谓浅拷贝?何谓深拷贝?往简单的说:浅拷贝:拷贝地址。深拷贝:拷贝内容。用通俗的话来举例子:浅拷贝:就是找锁匠配了把新钥匙,虽然钥匙是新的,开的却还是之前那扇门,进的还是之前那间屋。深拷贝:不仅买了套户型一模一样的房子,还定制了一模一样的家具,购买了品牌与尺寸一模一样的家电,放置了一模一样的私人用品,甚至连摆放的位置,使用的痕迹都得一模一样。(这样的细节问题,
曹孟德尔
·
2020-07-12 15:40
Copy
2.
mutableCopy
创建一个新的可变对象,并初始化为原对象的值,新对象的引用计数为1;二:容器类1.copy(1).不可变数组copyretain计数加1地址相同(2).可变
program袁
·
2020-07-12 14:08
NSString NSArray的copy和
mutableCopy
浅复制——即指针复制,不创建新的对象;深复制——即内容复制,创建一个新的对象。(这么精辟的话当然出自高手之口)引自:http://www.jianshu.com/p/ebbac2fec4c61NSString和NSMutableString(1)NSString发送copy消息时会进行浅复制:NSString*name=@"name";NSString*nameFromCopy=[namecopy
KardelShaw
·
2020-07-12 11:25
copy和
mutableCopy
差别以及开发中遇到的问题
最近跟着网络中的资源重写一些自定义控件,里面写的方法很好,自己在写的过程中总结了两个出现的问题,记录如下:1在对数组进行删除的时候,出现了如下的报错:对数组进行删除时出现的错误出错的原因是:实例无法识别的选择器,而且是NSArray的类型。很奇怪的是,明明我创建的时候是NSMutableArray类型:但是,后来查看时候,发现在dataArr中存储的是NSArray类型:所以,在赋值的时候最好:这
李周
·
2020-07-12 05:19
iOS-排序算法简介
1.选择排序由于选择排序过于简单,看一下代码应该就能懂NSMutableArray*array=[@[@3,@5,@2,@9,@6,@7]
mutableCopy
];NSIntegern=array.count
baopanpan
·
2020-07-12 00:49
OC中copy和
mutableCopy
的详细用法
前言首先我们要先明白一个概念,什么是浅复制,单层深复制,完全复制(每一层都深复制)浅复制也就是所说的指针复制,并没有进行对象复制单层深复制,也就是我们经常说的深复制,我这里说的单层深复制是对于集合类所说的(即NSArray,NSDictionary,NSSet),单层深复制指的是只复制了该集合类的最外层,里边的元素没有复制,(即这两个集合类的地址不一样,但是两个集合里所存储的元素的地址是一样的)完
小码农_gjw
·
2020-07-11 00:16
深copy和浅copy
在iOS中并不是所有的对象都支持copy,
mutableCopy
,遵守NSCopying协议的类可以发送copy消息,遵守NSMutableCopying协议的类才可以发送
mutableCopy
消息。
y2015
·
2020-07-10 22:39
iOS开发-对象拷贝
NSObject类提供了两个用于拷贝的方法:-(id)copy和-(id)
mutableCopy
,这两个方法都可以复制已有对象的副本。
献国
·
2020-07-10 18:23
IOS开发之深拷贝与浅拷贝(
mutableCopy
与Copy)详解
阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,
安丿风
·
2020-07-10 16:00
NSAarray数组奔溃拦截保护
2018年4月17日1.效果NSArray*arr=@[@1];arr[1];NSMutableArray*mArr=@[@2].
mutableCopy
;mArr[1];2018-04-1710:36:
wangyu2488
·
2020-07-10 10:42
Copy与
MutableCopy
的使用
首先,明白复制的原则:复制出一个新的对象对原来对象或新复制出的对象进行修改不会互相影响然后,明白Copy和
MutableCopy
的原则使用Copy出来的对象都是不可变对象使用
MutableCopy
出来的对象都是可变对象
YeasonChen
·
2020-07-10 06:37
copy与
mutableCopy
区别,strong和copy的使用
本篇文章主要讲两个知识点:1.深拷贝与浅拷贝2.NSArray和NSMutaleArray应该用copy还是stong修饰。一、我们先来分析深拷贝(返回一个对象,一个新的指针指向一个新的内容)与浅拷贝(返回一个对象,一个新的指针指向旧的内容)。这里面分集合类型(NSArray、NSDictionary、NSSet等类型)与非集合类型(NSString等类型)。1.分析NSString不可变类型:N
Jesse1949
·
2020-07-10 03:06
copy和
mutableCopy
最近面试了一些人,发现大部分人对mutable和inmutable对象并不是分得很清,更不用提它们copy和
mutableCopy
。
偶是星爷
·
2020-07-10 02:59
RunTime源码阅读(八)之autoreleasepool
1.autoreleasepool特性对于系统方法,系统会检查方法名是否以alloc/new/copy/
mutableCopy
开始,如果不是则自动将返回值的对象注册到autoreleasepool。
某非著名程序员
·
2020-07-09 23:19
iOS给UILabel设置内边距
NSMutableParagraphStyle*style=[[NSParagraphStyledefaultParagraphStyle]
mutableCopy
];style.alignment=NSTextAlignmentJustified
iOS_Apple
·
2020-07-09 16:38
iOS开发笔记
什么是浅拷贝与深拷贝
浅拷贝就是不可变对象执行不可变拷贝(copy)深拷贝就是如果执行拷贝时只要有可变的无论是可变对象还是可变拷贝(
mutableCopy
)在简单点说只有源对象和副本对象都不可变才是浅拷贝,其它都是深拷贝!
KingChoo
·
2020-07-09 06:27
Objective-C 小记(9)__strong
创建对象所谓创建对象,也就是方法名为alloc、new、copy或者
mutableCopy
开头的情况,比如下面的代码:NSObject*__strongobj=[[NSObjectalloc]init]
KylinRoc
·
2020-07-08 19:50
RAC 无法监听数组的变化
原来是NSMutableArray本来就是没有kvo,而rac就是基于kvo的,so,你懂的NSMutableArray*array=@[@"a",@"b"].
mutableCopy
;self.array
踏云小子
·
2020-07-08 14:08
浅拷贝和深拷贝
非集合对象在非集合类对象中,对不可变对象进行copy操作,仅仅是指针复制,是浅复制;对不可变对象进行
mutablecopy
操作,是内容复制,是深复制。
6灰太狼9
·
2020-07-08 04:04
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他