复制 ctrl+c =ctrl + copy“c”。
而粘贴 ctrl+v =ctrl + paste ,使用字母“V”是态桥因为在:
1、最初开发是程序员以“copy”为中心便捷实用为目的延伸出的快捷方式。
2、恰巧该字母“v”有一个约同于粘连的因为单词“Viscidity”(粘性的)。
3、象形的以漏斗形态比喻对准目标释放。正如剪切中“ctrl+x”中“x”象征剪刀一样。
4、代表“paste”的梁游 P 键被占用(打印 crtl+paint)。
扩展资料:
其他快捷键:
Ctrl+B 粗体选择文本
Ctrl++ 将画笔、直线或形状轮廓的宽度增加一个像素
Ctrl+- 将画笔、直线或形状橡闭销轮廓的宽度减少一个像素
Ctrl+I 将所选文本改为斜体
Ctrl+U 为所选文本添加下划线
Ctrl+E 打开“属性”对话框
Ctrl+W 打开“调整大小和扭曲”对话框
Ctrl+Page Up 放大
Ctrl+Page Down 缩小
F11 以全屏模式查看图片
Ctrl+R 显示或隐藏标尺
Ctrl+G 显示或隐藏网格线
参考资料来源:百度百科-快捷键
做过iOS开发的同学肯定都用过copy属性,但是copy属性和strong的区别可能还有很多人并不是很清楚,这一篇文章就专门讲一讲copy这个属性。
首先抛出本篇文章的结论:
可以简单的把copy属性理解为把目标参数copy,也就是拷贝之后再赋值给成员变量。
以下是生成set方法的源码,可以参考。
static inline void reallySetProperty(id self, SEL _cmd, id newValue, ptrdiff_t offset, bool atomic, bool copy, bool mutableCopy)
{
if (offset == 0) {
object_setClass(self, newValue)
return
}
}
从这里可以看出来copy和strong的区别主要在于copy这个动作。
那么copy的作用到底是什么?这个动作对于不同Object又有什么不同作用呢?copy和mutableCopy又有什么区别呢?
这里再一次抛出结论:
对不可变变量(例如NSString)进行不可变拷贝(copy),是浅拷贝(引用计数+1),其他情况都是深拷贝。
对不可变变量(例如NSString)来说定义成copy,更加安全,但是效率也更低
为什么更加安全?
我们把一个变量定义成NSString,那一定是我们不希望它的值被任意改变。如果定义属性的时候使用strong,那就有可能存在被任意,或者意料之外改动的情况。
我们来看一个例子:
输出结果:
由于strongString是定义成了strong,在被赋予一个大斗NSMutableString的变量mstr之后,对mstr进行修改,strongString也被修改了。这相当于对一个不可变变量间接进行了修改。
为什么更低效?
原因很简单,因为需要启仿陆深拷贝,需要重新开辟空间并且赋值。
但是,不是把属性定义成copy就万事大吉了,需要注意的是在类内部还是需要使用self.copyedString的方式或者[self setCopyedString]调用,如果直接_copyedString=mstring的方式还是不会起到效果,因为没有调用setter方法
虽然对于Block来说,ARC环境下使用copy和strong的效果一样(因为即使是定义成悄顷strong,赋值的时候依然会为我们拷贝),但是我们最好使用copy修饰。
原因跟Block的内存分布有关系。
Block根据他们在内存的位置分为三种:
1.NSStackBlock(在栈区,超出作用域就会自动释放)。
2.NSMallocBlock(在堆区,生命周期由程序员手动管理)。
3.NSGlobalBlock(全局区)。
对于栈区的Block可以进行一次拷贝,把栈区的Block拷贝到堆区。
在MRC下必须使用copy,以完成拷贝。沿用到ARC下最好也用copy,以表明其工作原理。
关于Block的内存分布是一个非常复杂的话题,这里就不展开了。
干程序员这行实在是离不开英语,需要懂的 英语单词 有很多。下面是我整理的程序员必须懂的英语单词,以供大家学习参拿纳考。
程序员必须懂的英语单词
CPU(Center Processor Unit)中央处理单元
mainboard主板
RAM(random access memory)随机存储器(内存)
ROM(Read Only Memory)只读存储器
Floppy Disk软盘
Hard Disk硬盘
CD-ROM光盘驱动器(光驱)
monitor监视器
keyboard键盘
mouse鼠标
chip芯片
CD-R光盘刻录机
HUB集线器
Modem= MOdulator-DEModulator,调制解调器
P-P(Plug and Play)即插即用
UPS(Uninterruptable Power Supply)不间断电源
BIOS (Basic-input-Output System)基本输入输出系统
CMOS(Complementary Metal-Oxide-Semiconductor)互补金属氧化物半导体
setup安装
uninstall卸载
wizzard向导
OS(Operation Systrem) *** 作系统
OA(Office AutoMation)办公自动化
exit退出
edit编辑
copy复仿绝制
cut剪切
paste粘贴
delete删除
select选择
find查找
程序员常用英语单词select all全选
replace替换
undo撤消
redo重做
program程序
license许可(证)
back前一步
next下一步
finish结束
folder文件夹
Destination Folder目的文件夹
user用户
click点击
double click双击
right click右击
settings设置
update更新
release发布
data数据
data base数据库
DBMS(Data Base Manege System)数据库管理系统
view视图
insert插入
object对象
configuration配置
command命令
document文档
程序员备敏姿必备英语单词汇POST(power-on-self-test)电源自检程序
cursor光标
attribute属性
icon图标
service pack服务补丁
option pack功能补丁
Demo演示
short cut快捷方式
exception异常
debug调试
previous前一个
column行
row列
restart重新启动
text文本
font字体
size大小
scale比例
interface界面
function函数
access访问
manual指南
active激活
computer language计算机语言
menu菜单
GUI(graphical user interfaces )图形用户界面
template模版
page setup页面设置
password口令
code密码
print preview打印预览
zoom in放大
zoom out缩小
pan漫游
cruise漫游
full screen全屏
tool bar工具条
>>>下一页更多“程序员必备英语单词”欢迎分享,转载请注明来源:内存溢出
评论列表(0条)