cmd丢弃旧的副本啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmd丢弃旧的副本啥意思相关的知识,希望对你有一定的参考价值。

在cmd属性里的选项卡里有个丢弃旧的副本还有命令记录的缓冲器大小和数量是什么意思啊?修改了对cmd有什么影响?
那命令记录里的缓冲区大小默认是50 意思是什么啊? 意思是一条命令最长为50个字符吗?缓冲区数量为5.是存5条已经输过的命令.我看好像不是吧.可以在仔细点不?

参考技术A 丢弃旧的副本指的是对已经卷出屏幕的东西不予保存,就像DOS那样。命令记录的缓冲器是保存已输入过的命令的,按向上光标键可以重新调出,那个选项可以改变保存的数量。修改了这些对功能没什么影响,只是使用习惯方面的设定。本回答被提问者采纳

Cocoa 框架中的属性副本是啥意思?(如 UITabBar 的 items 属性)

【中文标题】Cocoa 框架中的属性副本是啥意思?(如 UITabBar 的 items 属性)【英文标题】:what's property copy means in Cocoa's Framework?(like UITabBar's items property)Cocoa 框架中的属性副本是什么意思?(如 UITabBar 的 items 属性) 【发布时间】:2012-08-20 02:54:46 【问题描述】:

在 UITabBar.h 中,一个属性签名的副本

@property(nonatomic,copy) NSArray *items; // 获取/设置可见

这是一个数组 “复制”是什么意思? 复制 NSArray 容器 obj? 复制每个 obj NSArray 包含的内容? 什么的。

所以有一个测试

UITabBar* testBar = [[UITabBar alloc] init];
UITabBarItem* item = [[UITabBarItem alloc] init];
NSArray* array = [[NSArray alloc] initWithObjects:item, nil];

NSLog(@"bar:%p,%d", testBar, testBar.retainCount);
NSLog(@"item:%p,%d", item, item.retainCount);
NSLog(@"array:%p,%d", array, array.retainCount);

testBar.items = array;

NSLog(@"that item:%p,%d", [testBar.items lastObject], [[testBar.items lastObject] retainCount]);
NSLog(@"testBar.items:%p,%d", testBar.items, testBar.items.retainCount);

结果

栏:0x96a9750,1

项目:0x96aa230,2

数组:0x96aa280,1

那个项目:0x96aa230,2

testBar.items:0x96aa280,6

为什么容器数组和数组中的obj都没有被“复制”?

【问题讨论】:

retainCount 没用。不要叫它。 【参考方案1】:

两件事:

集合-copy 总是浅的。它不复制集合元素(事实上,没有任何东西可以保证这些元素甚至是可复制的——即符合NSCopying 协议)。这就解释了为什么 obj 没有被复制——它没有得到任何额外的保留。

Foundation 尽可能优化其-copy-retain 的实现。例如,-[NSString copy] 是不可变字符串的保留。由于集合副本很浅,相同的优化适用于不可变集合。这就是为什么array 没有被复制而只是保留的原因。

【讨论】:

只是一个测试表明有时复制一个不可变的字符串甚至不保留,也许操作系统共享某个字符串仅在内存中的一个副本,谢谢 澄清:数组不会总是被复制;只有不可变的可以。如果您尝试将items 设置为可变数组,您会发现它设置为副本。【参考方案2】:

在这种情况下没有复制的原因是NSArray不可变的。您不需要复制它来防止对数组进行更改,因为无法进行此类更改;保留相同的不可变数组就足够了。

如果你用NSMutableArray 尝试这个实验,你会得到不同的结果。

【讨论】:

bar:0x96b5ae0,1 item:0x96b6560,2 mutable array:0x96b65b0,1 that item:0x96b6560,3 testBar.items:0x96b6610,5 是的,我想你说的是重点,容器数组已经已复制,谢谢

以上是关于cmd丢弃旧的副本啥意思的主要内容,如果未能解决你的问题,请参考以下文章

java返回字符串副本啥意思

关于SVN先还原在更新是啥意思?新手,请指导。

SVN 中的结果代码是啥意思?

英文copy是啥意思?

JJC啥意思?

ClearCase:主副本和当前副本有啥区别?