<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_wolfer's code base</title><subtitle type="text">无线服务器、客户端开发的那点儿事儿...</subtitle><id>http://feed.cnblogs.com/blog/u/14747/rss</id><updated>2011-09-24T15:41:30Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/14747/rss"/><entry><id>http://www.cnblogs.com/hl13571/archive/2011/06/21/2086256.html</id><title type="text">Nib/Xib文件的产生，编译和运行本质[转]</title><summary type="text">NIB 和 XIB 都是 Interface Builder 的图形界面设计文档。引用《Cocoa Programming for Mac OSX》一书的说法，Interface Builder 把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在了一个 NIB文档里面了；程序运行时，这些对象将会“苏醒”。在终端下我们可以看到，NIB 其实是一个目录。它里面有两个也是后缀为 NIB 的文件：designable.nib 和 keyedobjects.nib。前者是一个 XML 文档，而后者则是一个二进制文件。Interface Builder 3 之后，引入了新的文档格式：XIB。它是单一的 </summary><published>2011-06-21T09:39:00Z</published><updated>2011-06-21T09:39:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2011/06/21/2086256.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2011/06/21/2086256.html"/><content type="html">NIB 和 XIB 都是 Interface Builder 的图形界面设计文档。引用《Cocoa Programming for Mac OSX》一书的说法，Interface Builder 把窗口、菜单栏以及窗口上的各种控件的对象都&amp;#8220;冻结&amp;#8221;在了一个 NIB文档里面了；程序运行时，这些对象将会&amp;#8220;苏醒&amp;#8221;。&lt;br /&gt;&lt;br /&gt;在终端下我们可以看到，NIB 其实是一个目录。它里面有两个也是后缀为 NIB 的文件：designable.nib 和 keyedobjects.nib。前者是一个 XML 文档，而后者则是一个二进制文件。Interface Builder 3 之后，引入了新的文档格式：XIB。它是单一的 XML 文档，也就是一个纯文本文件。纯文本文件的好处是显而易见的。嗯，就是便于源代码版本管理。现在最新版本的 Xcode 在创建项目时，已经默认使用 XIB 格式的文档了。&lt;br /&gt;&lt;br /&gt;不论在 Interface Builder 中选择的是 NIB 还是 XIB 格式，Xcode 编译后都将得到一个供程序运行时使用的经过编译的 NIB 文件。&lt;br /&gt;开说之前对以上的补充几点。&lt;br /&gt;nib的发展经过了nib2.0, nib3.0和xib.。nib2.0（nib文件夹中包含3个文件）和nib3.0（nib文件夹中包含2个文件）的文件结构相差一个二进制文件，且2.0可读性不高，不过已经很少见到这种格式了。如果你发现的你nib还是这种格式，赶紧转换吧，利用IB的Save As....&lt;br /&gt;另外建议工程里面全部使用xib，如果是nib3.0，也赶紧转换吧。因为nib2.0/3.0编译后nib中包含的界面信息不会被去除，程序发布出去后别人可以打开你的nib进行编辑查看的。&lt;br /&gt;xib编译后生成二进制的nib文件，这个是不可打开编辑的，所以不会暴露你的接口什么的信息，而且如果包含二进制文件的话，你的代码管理系统是不能merge or diff的。&lt;br /&gt;感谢simonwang补充&lt;br /&gt;为什么会有这两种奇怪的名字?&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nibs这个名字来自于被Apple收购之前的NEXTSTEP系统.在NEXTSTEP被Apple拿下后, Apple给nib文件弄了一种新的基于XML Schema的文件格式,并且把nib的扩展名改为了xib.但是人们仍然习惯于把这种新的格式的文件称为nibs文件.所以我们会感觉nib这个词比较奇怪,实际上道理和我们第一次见到类似"NS...这样子奇怪的名字是一样的,历史遗留而已. &lt;br /&gt;开讲。。。。。。（以下内容是本人自行研究出来的，没有任何官方文档的支持，如无把握，请勿自行修改nib文件，发生任何问题，本人概不负责！）&lt;br /&gt;1）打开IB，新建一个Application的nib，拖一个tab和button进去，保存成sample.xib。如图&lt;br /&gt;&lt;img src="http://www.cnblogs.com/hl13571/admin/EditPosts.aspx?opt=1" alt="Nib/Xib文件的产生，编译和运行本质 - hager - hager的博客" /&gt;=700) window.open('http://cdn.cocimg.com/bbs/attachment/Fid_2/2_1860_2fdb321b3245f4d.png');" border=0 src="http://cdn.cocimg.com/bbs/attachment/Fid_2/2_1860_2fdb321b3245f4d.png" onload="if(this.offsetWidth&amp;gt;'700')this.width='700';if(this.offsetHeight&amp;gt;'700')this.height='700';"&amp;gt; &lt;br /&gt;2）用textmate打开xib文件（右击选择open with...），收拢所有节点后你会看到一下内容。&lt;br /&gt;&lt;img src="http://www.cnblogs.com/hl13571/admin/EditPosts.aspx?opt=1" alt="Nib/Xib文件的产生，编译和运行本质 - hager - hager的博客" /&gt;=700) window.open('http://cdn.cocimg.com/bbs/attachment/Fid_2/2_1860_4ce6c19d40db4e7.png');" border=0 src="http://cdn.cocimg.com/bbs/attachment/Fid_2/2_1860_4ce6c19d40db4e7.png" width=700 onload="if(this.offsetWidth&amp;gt;'700')this.width='700';if(this.offsetHeight&amp;gt;'700')this.height='700';"&amp;gt; &lt;br /&gt;从被黄色高亮的部分可以看出xib就是一个标准的xml文件，文件一开始标识出了当前使用的nib版本，即nib2.0/nib3.0/xib，此值不可修改！&lt;br /&gt;另外可以看到很熟悉的字眼key，跟plist很像，但跟其不一样。xib里所有节点的顺序不可被改变，为什么呢？试一下就知道了，改了之后IB不认识了！&lt;br /&gt;当然，谁没事去改变节点的顺序呢。不过可以深入探讨一下为什么不能改变，这样可以了解IB工作的部分原理。&lt;br /&gt;（个人猜测，欢迎讨论）&lt;br /&gt;观察根节点，是archive，Objective-C里什么叫做archive？数据永久化。IB运行时保存的都是object的信息，所以得进行序列化。&lt;br /&gt;做过Java或者C++序列化的应该知道，你是怎么序列化的，那你就得怎么反序列化。&lt;br /&gt;所以这些节点的排列顺序是有道理的。&lt;br /&gt;我相信apple不会傻到直接来解析一个xml文件，xml文件应该是其序列化到文件的某一种反映形式，只要apple愿意，可以把这个文件写成任意形式。&lt;br /&gt;所以拿xml文件的特点来对应nibfile的特点是不行的。当然，nib文件写成xml的格式增加了可读性，但是其很复杂，虽然每一个key都表明了它是干吗的，英语好的也能猜出来，但是其结构还是蛮复杂的，需要上下一一对应才能理解IB中资源对象的数据是什么样的。&lt;br /&gt;被桔黄色高亮的部分应该很容易就看出来是什么。这里有几个值会经常变化。比如team里两个人，一个用的10.5，另一个10.6。10.6创建这个nib，10.5上打开nib看了下，保存。此时虽然没做任何改动，其实IB已经帮你改了，比如SystemVersion，这个就是你系统的build版本，InterfaceBuilderVersion，这个是nibtool的版本，在如AppKitVersion之类的，所以你svn diff时发现只有这些东西变了的话，那就没关系的。&lt;br /&gt;上面字里说到一个词，序列化。&lt;br /&gt;话说一般序列化后不都是二进制文件么，为什么这里是xml格式的。恩，这就要讲到nib文件的编译和运行的原理了。&lt;br /&gt;nib文件从创建，保存，编译到运行要经历两种序列化。&lt;br /&gt;第一个是IB所用的文档的序列化，序列化的结果就是这个xml文件。它保存的是所有界面的资源信息和各个对象之间的关系。&lt;br /&gt;第二个就是编译时对这个xml文件进行的序列化，序列化的结果就是2进制的nib文件。&lt;br /&gt;写过IBPlugin的人应该知道，所有的控件必须支持initWithCoder和encodeWithCoder的NSCoding规范，这个就是用来被NSKeyedArchiver序列化用的。&lt;br /&gt;编译时对xml文件做了如下操作&lt;br /&gt;1，读取xml文件，生成所有界面对象，生成所有object（即自定义的controller类等），设置好各个obejct之间的联系（IBAction，IBOutlet）&lt;br /&gt;2，对这一坨对象进行序列化，即调用encodeWithCoder方法来序列化，生成二进制nib文件&lt;br /&gt;为什么要生成二进制文件，因为从二进制文件生成类实例更快一些。&lt;br /&gt;运行时对nib的操作&lt;br /&gt;1，反序列化，调用所有对象的initWithCoder方法&lt;br /&gt;2，某些类的initWithFrame，init之类的方法被调用，生成所有类实例&lt;br /&gt;3，发送awakeFromNib消息，每个类实例的awakeFromNib被调用&lt;br /&gt;猜测nib2.0/3.0时代的多出来的二进制文件应该就是被编译序列化之后的文件，即nib2.0/3.0的nib文件由界面信息文件和运行时二进制文件组成。&lt;br /&gt;由以上的可以看出，凡是被拖到nib里面的对象都会被自动创建实例，无需你代码手动创建（扫盲了。。。），需要用到的话，添加一个IBOutlet即可。&lt;br /&gt;好了，解析完nib的文件结构之后，应该对IB的工作方式有了一个认识，也对你用IB打开nib后看到的东西的背后的实现方式也应该有了一个清晰的认识。&lt;br /&gt;（iPhone的nib跟Mac没有区别，可以参考）&lt;br /&gt;&lt;p&gt;xib本质就是一个xml文件,这点在head first iphone上有清楚的解释。&lt;/p&gt;&lt;p&gt;本文转自:http://heidianfeng.blog.163.com/blog/static/6184345620107311175472/ &lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/2086256.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2011/06/21/2086256.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2011/05/26/dotnet_Serializers.html</id><title type="text">.net 序列化反序列化小节</title><summary type="text">整理一下.net的三种主流序列话方式，方便ctrl+c,v 。还少Json.net的序列化方式，因为最近用那个发现点问题，正在研究他的源代码，有了结论再发。还有自定义流协议（方便跨平台），有个代码生成器，有时间整理一下单独发出来。</summary><published>2011-05-26T04:44:00Z</published><updated>2011-05-26T04:44:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2011/05/26/dotnet_Serializers.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2011/05/26/dotnet_Serializers.html"/><content type="html">&lt;p&gt;整理一下.net的三种主流序列话方式，方便ctrl+c,v 。还少Json.net的序列化方式，因为最近用那个发现点问题，正在研究他的源代码，有了结论再发。还有自定义流协议（方便跨平台），有个代码生成器，有时间整理一下单独发出来。&amp;nbsp;&lt;/p&gt;&lt;p&gt;一、流方式：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;序列化&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MemoryStream&amp;nbsp;memStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MemoryStream();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;BinaryFormatter().Serialize(memStream,&amp;nbsp;obj);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;buf&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;memStream.GetBuffer();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;反序列化&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MemoryStream&amp;nbsp;memStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MemoryStream(buf);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;obj&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;nbsp;BinaryFormatter().Deserialize(memStream);&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;二、xml方式：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;序列化：&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlSerializer&amp;nbsp;xs&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;XmlSerializer(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(obj));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MemoryStream&amp;nbsp;memStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MemoryStream&amp;nbsp;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xs.Serialize(memStream&amp;nbsp;,&amp;nbsp;obj);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;反序列化：&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlSerializer&amp;nbsp;xs&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;XmlSerializer(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(obj));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MemoryStream&amp;nbsp;memStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MemoryStream&amp;nbsp;();&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;span style="color: #000000; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;boject&amp;nbsp;obj&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;nbsp;xs.Deserialize(memStream);&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 13px; "&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;三、Json方式：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;序列化：&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataContractJsonSerializer&amp;nbsp;js&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DataContractJsonSerializer(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(T));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MemoryStream&amp;nbsp;memStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MemoryStream();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;js.WriteObject(memStream,&amp;nbsp;obj);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;jStr&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Encoding.UTF8.GetString(ms.ToArray());&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;反序列化：&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataContractJsonSerializer&amp;nbsp;js&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DataContractJsonSerializer(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(T));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MemoryStream&amp;nbsp;memStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MemoryStream(Encoding.UTF8.GetBytes(jStr));&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-family: verdana, 'courier new'; font-size: 14px; "&gt;&lt;span style="font-family: 'Courier New'; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;object&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;nbsp;obj&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;nbsp;js.ReadObject(memStream);&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; font-size: 13px; "&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;四、自定义&lt;/p&gt;&lt;p&gt;一般是自定义的流协议，配合代码生成器，可以实现各种设备间无障碍通讯（本人在无线开发、网游开发中常用此方法），可以考虑把代码生成器整理一下公布出来，现在看还比较烂；）&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/2058079.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2011/05/26/dotnet_Serializers.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2010/12/28/1918830.html</id><title type="text">如何获得毫秒级时间（iphone）</title><summary type="text">NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; //[dateFormatter setDa...</summary><published>2010-12-28T05:39:00Z</published><updated>2010-12-28T05:39:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918830.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918830.html"/><content type="html">&lt;p&gt;NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];&lt;br style="outline-style: none; outline-width: initial; outline-color: initial;" /&gt; [dateFormatter setDateStyle:NSDateFormatterMediumStyle];&lt;br style="outline-style: none; outline-width: initial; outline-color: initial;" /&gt; [dateFormatter setTimeStyle:NSDateFormatterShortStyle];&lt;br style="outline-style: none; outline-width: initial; outline-color: initial;" /&gt; //[dateFormatter setDateFormat:@"hh:mm:ss"]&lt;br style="outline-style: none; outline-width: initial; outline-color: initial;" /&gt; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];&lt;br style="outline-style: none; outline-width: initial; outline-color: initial;" /&gt; NSLog(@"Date%@", [dateFormatter stringFromDate:[NSDate date]]);&lt;br style="outline-style: none; outline-width: initial; outline-color: initial;" /&gt; [dateFormatter release];&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/1918830.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918830.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2010/12/28/1918831.html</id><title type="text">Mac os 截屏快捷键</title><summary type="text">1、全屏截屏：command（俗称花键）＋ shift + 32、自定义截屏：command（俗称花键）＋ shift + 43、对象方式截屏：command（俗称花键）＋ shift + 4 再按下空格（来回切换）4、截屏到剪切板：command（俗称花键）＋ shift ＋ ctrl + 4</summary><published>2010-12-28T05:39:00Z</published><updated>2010-12-28T05:39:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918831.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918831.html"/><content type="html">&lt;p&gt;1、全屏截屏：command（俗称花键）＋ shift + 3&lt;/p&gt;&lt;p&gt;2、自定义截屏：command（俗称花键）＋ shift + 4&lt;/p&gt;&lt;p&gt;3、对象方式截屏：command（俗称花键）＋ shift + 4 再按下空格（来回切换）&lt;/p&gt;&lt;p&gt;4、截屏到剪切板：command（俗称花键）＋ shift ＋ ctrl + 4&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/1918831.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918831.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2010/12/28/1918832.html</id><title type="text">消灭Warning 'ClassName' may not respond to '-funcName:args'</title><summary type="text">今天总结了一个经验，当此类信息提示的是你自己构建的类里的方法，那多半是接口文件（.h）没有声明此方法，或者声明与调用不符。如果是引用的类库的方法，那就得阅读一下文档，看看调用是否正确了。 今天还发现了...</summary><published>2010-12-28T05:39:00Z</published><updated>2010-12-28T05:39:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918832.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918832.html"/><content type="html">&lt;p&gt;今天总结了一个经验，当此类信息提示的是你自己构建的类里的方法，那多半是接口文件（.h）没有声明此方法，或者声明与调用不符。如果是引用的类库的方法，那就得阅读一下文档，看看调用是否正确了。&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;今天还发现了xcode的一个非常强大的功能，通过菜单：Build-&amp;gt;Build and Analyze来调用编译分析。很强大，可以根据对资源图形话跟踪提示用户哪些对象有不被释放的风险。&lt;/p&gt;&lt;p&gt;&lt;img title="Build and Analyze.png" src="http://images.cnblogs.com/cnblogs_com/hl13571/201012/201012281339156424.png" border="0" alt="Build and Analyze" width="428" height="297" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/1918832.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2010/12/28/1918832.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2010/12/17/1909096.html</id><title type="text">给xcode设置快捷键</title><summary type="text">Xcode shortcut settingxcode中“Jump to Definition”竟然没有快捷键，刚刚查了一下，设置挺容易的，操作步骤如下：1、command+, 调出xcode pre...</summary><published>2010-12-17T03:45:00Z</published><updated>2010-12-17T03:45:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2010/12/17/1909096.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2010/12/17/1909096.html"/><content type="html">&lt;p&gt;Xcode shortcut setting&lt;/p&gt;&lt;p&gt;xcode中“Jump to Definition”竟然没有快捷键，刚刚查了一下，设置挺容易的，操作步骤如下：&lt;/p&gt;&lt;p&gt;1、command+, 调出xcode preferences.&lt;/p&gt;&lt;p&gt;2、选择 Key Bindings 标签，标签页中选择"Menu Key Bindings"选项按钮。&lt;/p&gt;&lt;p&gt;找到：Edit--&amp;gt;Find--&amp;gt;Jump to Definition.&lt;/p&gt;&lt;p&gt;3、双击，会提示将要输入此副本的名称（原有的快捷键数据会一直存在Xcode Default中） 输入名称，确认。&lt;/p&gt;&lt;p&gt;4、双击Jump to Definition 条目的key区域，就可以输入快捷键了。输入完成应用、确认即可。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/1909096.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2010/12/17/1909096.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2010/12/16/iphone_usefull_dir.html</id><title type="text">[转]iPhone系统常用文件夹位置</title><summary type="text">01.【/private/var/logs/CrashReporter】系统错误记录报告02.【/bin】、【/usr/bin】系统执行指令的存放目录，存放在该目录下的程序在终端的任何目录下均可调用03.【/private/var/run】系统进程运行PID值目录，可以看到系统中运行进程的PID值11.【/Applications】常用软件的安装目录（app文件安装方式，以及PXL，Cydia安装的程序均在此目录）12.【/private/var/mobile/Applications】通过iTunes同步的ipa程序安装在该目录13.【/private/var/root/Media/PXL】</summary><published>2010-12-16T05:54:00Z</published><updated>2010-12-16T05:54:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2010/12/16/iphone_usefull_dir.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2010/12/16/iphone_usefull_dir.html"/><content type="html">&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #656e6a; line-height: 22px; "&gt;&lt;p&gt;01.【/private/var/logs/CrashReporter】系统错误记录报告&lt;br style="line-height: 22px; " /&gt;02.【/bin】、【/usr/bin】系统执行指令的存放目录，存放在该目录下的程序在终端的任何目录下均可调用&lt;br style="line-height: 22px; " /&gt;03.【/private/var/run】系统进程运行PID值目录，可以看到系统中运行进程的PID值&lt;/p&gt;&lt;p&gt;11.【/Applications】常用软件的安装目录（app文件安装方式，以及PXL，Cydia安装的程序均在此目录）&lt;br style="line-height: 22px; " /&gt;12.【/private/var/mobile/Applications】通过iTunes同步的ipa程序安装在该目录&lt;br style="line-height: 22px; " /&gt;13.【/private/var/root/Media/PXL】PXL数据库，所有通过PXL安装的程序均会记录在该目录下，包含PXL程序的图标以及安装卸载脚本&amp;nbsp;&lt;br style="line-height: 22px; " /&gt;14.【/private/var/stash】Cydia做目录迁移后会将迁移的目录放置在此目录下，并在每个被迁移的目录后加上随机的6位字符&lt;/p&gt;&lt;p&gt;21.【/Library/Ringtones】系统自带的来电铃声存放目录（用iTunes将文件转换为ACC文件，把后缀名改成.m4r,用91手机助手传到/Library/Ringtones即可）&lt;br style="line-height: 22px; " /&gt;22.【/private/var/mobile/Library/AddressBook】系统电话本的存放目录。&lt;br style="line-height: 22px; " /&gt;23.【/Library/Wallpaper】系统墙纸的存放目录&lt;br style="line-height: 22px; " /&gt;24.【/System/Library/Audio/UISounds】系统声音文件的存放目录&lt;br style="line-height: 22px; " /&gt;25.【/private/var/mobile /Library/SMS】系统短信的存放目录&lt;/p&gt;&lt;p&gt;31.【/private/var/mobile/Media/iTunes_Control/Music】iTunes上传的多媒体文件（例如MP3、MP4等）存放目录，文件没有被修改，但是文件名字被通过算法HASH修改了，直接下载到电脑即可读取。&lt;br style="line-height: 22px; " /&gt;32.【/private/var/mobile/Media/DCIM】照相机拍摄的照片文件存放目录&lt;br style="line-height: 22px; " /&gt;33.【/private/var/stash/Ringtones】自定义玲声上传目录&lt;/p&gt;&lt;p&gt;41.【/private/var/mobile/Documents】ultimatevr录音文件存放目录，后缀是caf&lt;br style="line-height: 22px; " /&gt;42.【/private/var/mobile/Media/Videos】cycorder摄像文件存放目录&lt;/p&gt;&lt;p&gt;51.【/System/Library/Fonts/Cache】上传字体文件目录，权限644&lt;/p&gt;&lt;p&gt;61.【/private/var/mobile/Media/EBooks】上传电子书目录&lt;br style="line-height: 22px; " /&gt;62.【/private/var/mobile/Media/Maps】上传离线地图目录&lt;br style="line-height: 22px; " /&gt;63.【/private/var/media】上传媒体文件目录&lt;br style="line-height: 22px; " /&gt;64.【/private/var/mobile/Media/Comic】上传漫画文件目录&lt;br style="line-height: 22px; " /&gt;65.【/private/var/mobile/Documents/WobbleSaves】Wobble上传图片目录&lt;br style="line-height: 22px; " /&gt;66.【/var/mobile/Documents/WobbleSaves】Mobilefiles上传文档目录&lt;/p&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/1908148.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2010/12/16/iphone_usefull_dir.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2010/12/16/xcode_quickkeys.html</id><title type="text">Xcode 快捷键全集［转］</title><summary type="text">－－－－原文地址：http://www.minroad.com/?p=150－－－－其实都是设置里的，整理成文件版，方便搜索可能有些新手刚用mac，不知与windows键对应，现在说明一下，command相当于ms键盘的win键，option相当于alt，键值一样，系统偏好设置里面可以更改。xcode相关：关于xcode 可设偏好设置 command+,清空缓存 可设隐藏xcode command+h隐藏其它 command+option+h显示全部 可设退出xcode command+q文件相关：新建项目 command+shift+n新建文件 command+n新建空文件 command+</summary><published>2010-12-16T05:16:00Z</published><updated>2010-12-16T05:16:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2010/12/16/xcode_quickkeys.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2010/12/16/xcode_quickkeys.html"/><content type="html">&lt;p&gt;－－－－&amp;nbsp;&lt;/p&gt;&lt;p&gt;原文地址：http://www.minroad.com/?p=150&lt;/p&gt;&lt;p&gt;－－－－&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;span  style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Arial, Verdana, sans-serif; line-height: 22px; "&gt;其实都是设置里的，整理成文件版，方便搜索&lt;/span&gt;&lt;/p&gt;&lt;span  style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Arial, Verdana, sans-serif; line-height: 22px; "&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;可能有些新手刚用mac，不知与windows键对应，现在说明一下，command相当于ms键盘的win键，option相当于alt，键值一样，系统偏好设置里面可以更改。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;xcode相关：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;关于xcode&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;偏好设置&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+,&lt;br /&gt;清空缓存&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;隐藏xcode&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+h&lt;br /&gt;隐藏其它&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+h&lt;br /&gt;显示全部&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;退出xcode&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+q&lt;/span&gt;&lt;/p&gt;&lt;p&gt;文件相关：&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;新建项目&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+n&lt;br /&gt;新建文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+n&lt;br /&gt;新建空文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+n&lt;br /&gt;打开&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+o&lt;br /&gt;在新窗口中打开&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+o&lt;br /&gt;快速打开&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+d / command+shift+alt+d (不知区别是什么)&lt;br /&gt;清空最近打开文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;清空最近打开项目&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Get Info&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+i&lt;br /&gt;显示检查器？&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+i&amp;nbsp; (效果和Get Info一样，不知区别)&lt;br /&gt;关闭窗口&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+w&lt;br /&gt;关闭所有窗口&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+w&lt;br /&gt;关闭当前项目&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+w&lt;br /&gt;关闭当前文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+w&lt;br /&gt;保存文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+s&lt;br /&gt;保存所有文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+s&lt;br /&gt;另存为&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+s&lt;br /&gt;复本另存为&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+s&lt;br /&gt;还原到保存时状态&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+u&lt;br /&gt;创建快照&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+s (保存文件快照，以后可进行对比修改情况)&lt;br /&gt;显示快照&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设 (File-&amp;gt;Snapshots)&lt;br /&gt;打印&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+p&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;编辑相关：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;撤销&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+z&lt;br /&gt;重复&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+z&lt;br /&gt;剪切&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+x&lt;br /&gt;复制&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+c&lt;br /&gt;粘贴&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+v&lt;br /&gt;粘贴并匹配格式&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+v&lt;br /&gt;删除&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;全选&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+a&lt;br /&gt;复制(Duplicate)&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;重构&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+j (选中方法名)&lt;br /&gt;转换为objc2.0&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;=================字体====================&lt;br /&gt;显示字体&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+t&lt;br /&gt;粗体&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;斜体&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;下划线&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;变大字号&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;变小字号&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Kern相关&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Ligature相关&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Baseline相关&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;显示颜色&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;复制样式&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+c&lt;br /&gt;粘贴样式&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+v&lt;br /&gt;=================文本====================&lt;br /&gt;左对齐&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+{&lt;br /&gt;右对齐&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+}&lt;br /&gt;居中&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+竖线 (不知竖线是哪个，没试出)&lt;br /&gt;Justify&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设(功能未知)&lt;br /&gt;左缩进&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+[&lt;br /&gt;右缩进&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+]&lt;br /&gt;Show Ruler&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设(功能未知)&lt;br /&gt;Copy Ruler&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+c&lt;br /&gt;Paste Ruler&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+v&lt;br /&gt;Balance&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设 (第一次，选中语句，第二次，选中方法体)&lt;br /&gt;重置缩进&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;=================查找====================&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;&lt;br /&gt;项目中查找&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+F&lt;br /&gt;在项目中查找选定文本&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;查找&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;查找替换&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+f&lt;br /&gt;查找选定文本&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;查找下一个&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+g&lt;br /&gt;查找上一个&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+g&lt;br /&gt;隐藏查找栏&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;替换&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;替换全部&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;替换并查找下一个&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;替换并查找上一个&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;用选择的查找&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+e&lt;br /&gt;用选择的替换&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+e&lt;br /&gt;跳到光标处&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+j&lt;br /&gt;跳到定义&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;=================排序====================&lt;br /&gt;按名&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;按类型&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;========================================&lt;br /&gt;添加书签&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+d&lt;br /&gt;go to line&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+l&lt;br /&gt;下一个填充&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;control+.&lt;br /&gt;填充列表&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;option+esc&lt;br /&gt;下一个占位符&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;control+/ (和tab相同)&lt;br /&gt;Edit All in Scope&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+t (功能未知)&lt;br /&gt;================插入宏=================&lt;br /&gt;c&lt;br /&gt;c++&lt;br /&gt;html&lt;br /&gt;java&lt;br /&gt;objective-c&lt;br /&gt;宏规范&lt;br /&gt;=================拼写====================&lt;br /&gt;显示拼写和语法&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+;&lt;br /&gt;检查拼写&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+;&lt;br /&gt;输入时检查拼写&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;特殊符号&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+t&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;视图相关：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;右上角详情搜索&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+f&lt;br /&gt;缩放编辑窗口&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+e&lt;br /&gt;缩放编辑窗口满屏&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+e&lt;br /&gt;折叠&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+左箭头&lt;br /&gt;屏开&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+右箭头&lt;br /&gt;屏开所有&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;control+u&lt;br /&gt;折叠方法&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+上箭头&lt;br /&gt;展开方法&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+下箭头&lt;br /&gt;折叠注释块&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+shift+上箭头&lt;br /&gt;展开注释块&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+shift+下箭头&lt;br /&gt;焦点跟随&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+control+f&lt;br /&gt;==============信息提示====================&lt;br /&gt;隐藏问题&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+h&lt;br /&gt;所有问题&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;仅错误和警告&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;仅错误&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;仅Analyzer结果&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;显示断点&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;==================文本====================&lt;br /&gt;tab设置&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;是否自动换行显示&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;行结束&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;显示控制字符&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+6&lt;br /&gt;显示空格&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;==============智能分组====================&lt;br /&gt;所有文件&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Targets&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Exeutables&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;书签&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+m&lt;br /&gt;Symbols&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;搜索结果&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;===================布局====================&lt;br /&gt;显示导航栏&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;隐藏状态栏&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;显示收藏栏&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;显示页数控制&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;===========================================&lt;br /&gt;前进&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+右箭头&lt;br /&gt;下一文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+右箭头&lt;br /&gt;返回&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+左箭头&lt;br /&gt;上一文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+左箭头&lt;br /&gt;切换头/源文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+上箭头&lt;br /&gt;组树中定位&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+上箭头&lt;br /&gt;显示工具栏&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;自定义工具栏&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;===================项目====================&lt;br /&gt;项目中标签切换&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+数字0&lt;br /&gt;类浏览&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+c&lt;br /&gt;重命名项目&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;新组&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+n&lt;br /&gt;分组&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+g&lt;br /&gt;撤销分组&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+g&lt;br /&gt;新建智能组&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;添加项目&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+a&lt;br /&gt;添加文件到项目&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;新Target&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;升级所有Targets&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;升级当前Target到ipad&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;================New Build Phase====================&lt;br /&gt;没做测试不多介绍，只放出内容&lt;br /&gt;New Copy Files Build Phase&lt;br /&gt;New Run Script Build Phase&lt;br /&gt;New Copy Headers Build Phase&lt;br /&gt;New Copy Bundle Resources Build Phase&lt;br /&gt;New Compile Sources Build Phase&lt;br /&gt;New Link Binary With Libraries Build Phase&lt;br /&gt;New Build Java Resources Build Phase&lt;br /&gt;New Build Resource Manager Resources Build Phase&lt;br /&gt;================================================&lt;br /&gt;新的自定义可执行文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;设置当前Target 为空&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Set Active Architecture 为空&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;设置当前sdk 为空&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;设置Build配置 为空&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Set Active Executable 为空&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;编辑项目设置&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;编辑当前Target&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+e&lt;br /&gt;编辑当前可执行文件&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+x&lt;br /&gt;===================Build========================&lt;br /&gt;Bulid Results&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+b&lt;br /&gt;Bulid&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+b&lt;br /&gt;Build and Analyze&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+a&lt;br /&gt;Build and Archive&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Build and Debug&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+enter&lt;br /&gt;Bulid and Run 断点关&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+r&lt;br /&gt;Build and Debug 断点开&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+y&lt;br /&gt;Clean&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+k&lt;br /&gt;Clean All Targets&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;下个Build警告或错误&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+=&lt;br /&gt;前个Build警告或错误&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+=&lt;br /&gt;Compile&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+k&lt;br /&gt;Preprocess&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Show Assembly Code&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Touch&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;=======================代码导航及编辑================&lt;br /&gt;注释 command+/&lt;br /&gt;文件首行 command+上箭头&lt;br /&gt;文件末 command+下箭头&lt;br /&gt;行首 command+左箭头&lt;br /&gt;行末 command+右箭头&lt;br /&gt;上一单词 option+左箭头&lt;br /&gt;下一单词 option+右箭头&lt;br /&gt;上一拆分单词 control+左箭头&lt;br /&gt;下一拆分单词 control+右箭头&lt;br /&gt;中间显示光标位置 control+l&lt;br /&gt;方法组列表 control+2&lt;br /&gt;删除前一单词 option+delete&lt;br /&gt;删除此行光标前所有内容 control+delete&lt;br /&gt;跨行选取 command+option+鼠标拖动&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;Run相关：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;&lt;br /&gt;Debug&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+enter&lt;br /&gt;Run 断点关&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+r&lt;br /&gt;Debug 断点开&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+y&lt;br /&gt;Run with Performance Tool (Shark)&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Stop&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+enter&lt;br /&gt;Attach to Process (Process ID) 可设&lt;br /&gt;Debugger&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+y&lt;br /&gt;Mini Debugger&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+左斜上箭头(不知咋按)&lt;br /&gt;Console&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+r&lt;br /&gt;Clear Console&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+control+r&lt;br /&gt;===================Show========================&lt;br /&gt;断点&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+b&lt;br /&gt;Expressions&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Global Variables&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Memory Browsers&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Shared Libraries&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;===================Debugger Display========================&lt;br /&gt;纵布局&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;横布局&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Datatips&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Step Controls&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Source Only&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Source And Disassembly&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Disassembly&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;===================Variables View========================&lt;br /&gt;User Data Formatters&lt;br /&gt;Show Type Column&lt;br /&gt;Print Description to Console&lt;br /&gt;Print Roots to Console&lt;br /&gt;Print Referers to Console&lt;br /&gt;Watch Variable&lt;br /&gt;View Value as&lt;br /&gt;Natural&lt;br /&gt;Hexadecimal&lt;br /&gt;OSType&lt;br /&gt;Decimal&lt;br /&gt;Unsigned Decimal&lt;br /&gt;Octal&lt;br /&gt;Binary&lt;br /&gt;Edit Value&lt;br /&gt;Edit Summary Format&lt;br /&gt;View in Memory Browser&lt;br /&gt;View in Window&lt;br /&gt;View in Expressions Window&lt;br /&gt;===============================================&lt;br /&gt;停用断点&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+\&lt;br /&gt;停止objc例外&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;================Manage Brakpoints=================&lt;br /&gt;当前行插入断点&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+\&lt;br /&gt;Add Symbolic Breakpoint&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Add C++ Exception Breakpoint&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;启用当前行断点&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+\&lt;br /&gt;导入断点&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;导出断点&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;===============================================&lt;br /&gt;Fix&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Pause&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+p&lt;br /&gt;Step Into&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+i&lt;br /&gt;Step Into Instruction&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+i&lt;br /&gt;Step Over&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+o&lt;br /&gt;Setp Over Instruction&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+shift+o&lt;br /&gt;Setp Out&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+t&lt;br /&gt;Next Thread&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+control+上箭头&lt;br /&gt;Previous Thread&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+control+下箭头&lt;br /&gt;Sync with Debugger&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Stop on Debugger()/DebugStr()&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;Enable Guard Malloc&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;可设&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;Desing相关：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;======================Class Model===================&lt;br /&gt;Quick Model&lt;br /&gt;Go to Declaration&lt;br /&gt;Go to Definition&lt;br /&gt;Go to Documentation&lt;br /&gt;Add Comment&lt;br /&gt;======================Data Model===================&lt;br /&gt;Import&lt;br /&gt;Add Model Version&lt;br /&gt;Set Current Version&lt;br /&gt;Add Entity&lt;br /&gt;Add Attribute&amp;nbsp; &amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+a&lt;br /&gt;Add Fetched Property&lt;br /&gt;Add Relationship&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+r&lt;br /&gt;Add Fetch Request&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;&lt;br /&gt;Copy Method Declarations to Clipboard&lt;br /&gt;Copy Method Implementations to Clipboard&lt;br /&gt;Copy Obj-C 2.0 Method Declarations to Clipboard&lt;br /&gt;Copy Obj-C 2.0 Method Implementations to Clipboa&lt;br /&gt;======================Mapping Model===================&lt;br /&gt;Update Source Model&lt;br /&gt;Update Destination Model&lt;br /&gt;Add Missing Property Mappings&lt;br /&gt;===================================================&lt;br /&gt;Show Model Browser&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+b&lt;br /&gt;Collapse Compartments&lt;br /&gt;Expand Compartments&lt;br /&gt;Roll Up Compartments&lt;br /&gt;Roll Down Compartments&lt;br /&gt;======================Diagram=======================&lt;br /&gt;Bring to Front&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+shift+f&lt;br /&gt;Send to Back&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+shift+b&lt;br /&gt;Align Top Edges&lt;br /&gt;Align Bottom Edges&lt;br /&gt;Align Left Edges&lt;br /&gt;Align Right Edges&lt;br /&gt;Align Vertical Centers&lt;br /&gt;Align Horizontal Centers&lt;br /&gt;Make Centered Colum&lt;br /&gt;Make Centered Row&lt;br /&gt;Make Same Width&lt;br /&gt;Make Same Height&lt;br /&gt;Size to Fit&lt;br /&gt;Lock&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+l&lt;br /&gt;Unlock&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+shift+control+l&lt;br /&gt;Zoom in&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control++&lt;br /&gt;Zoom Out&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+-&lt;br /&gt;Zoom to Fit&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+=&lt;br /&gt;Turn Grid On&lt;br /&gt;Show Grid&lt;br /&gt;Show Page Breaks&lt;br /&gt;Force-Directed Layout&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+g&lt;br /&gt;Hierarchical Layout&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+h&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;Window相关：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;最小化&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+m&lt;br /&gt;全部最小化&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+m&lt;br /&gt;Zoom&lt;br /&gt;Bring All to Front&lt;br /&gt;Defaults&lt;br /&gt;Organizer&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+o&lt;br /&gt;Activity&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;Help相关：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;开发文档&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+option+?&lt;br /&gt;快速帮助&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+control+?&lt;br /&gt;Xcode帮助&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; white-space: pre; "&gt; &lt;/span&gt;command+?&lt;br /&gt;Welcome to Xcode&lt;br /&gt;Xcode Quick Start&lt;br /&gt;Xcode Release Notes&lt;br /&gt;Find Documentation for Selected Text&lt;br /&gt;Open man Page&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; letter-spacing: 0px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/1908096.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2010/12/16/xcode_quickkeys.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2010/12/15/1907148.html</id><title type="text">iphone中如何进行多线程编程[转]</title><summary type="text">多线程在各种编程语言中都是难点，很多语言中实现起来很麻烦，objective-c虽然源于c,但其多线程编程却相当简单，可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。一、线程创建与启动线程创建主要有二种方式：当然，还有一种比较特殊，就是使用所谓的convenient method，这个方法可以直接生成一个线程并启动它，而且无需为线程的清理负责。这个方法的接口是：前两种方法创建后，需要手机启动，启动的方法是：二、线程的同步与锁要说明线程的同步与锁，最好的例子可能就是多个窗口同时售票的售票系统了。我们知道在</summary><published>2010-12-15T10:15:00Z</published><updated>2010-12-15T10:15:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2010/12/15/1907148.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2010/12/15/1907148.html"/><content type="html">&lt;img src="http://www.voland.com.cn/wp-content/uploads/2010/04/NSthread.png" alt="多线程编程" title="NSthread" width="580" height="159" size-full=""  wp-image-433"="" /&gt;&lt;br /&gt;&lt;p&gt;多线程在各种编程语言中都是难点，很多语言中实现起来很麻烦，objective-c虽然源于c,但其多线程编程却相当简单，可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。&lt;/p&gt;&lt;p&gt;一、线程创建与启动&lt;/p&gt;线程创建主要有二种方式：&lt;span style=" color: #339933; "&gt;-&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;id&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;init&lt;span style=" color: #339933; "&gt;;&lt;/span&gt; &lt;span style=" color: #666666; font-style: italic; "&gt;// designated initializer&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #339933; "&gt;-&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;id&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;initWithTarget&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;id&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;target selector&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;SEL&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;selector object&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;id&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;argument&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;p&gt;当然，还有一种比较特殊，就是使用所谓的convenient method，这个方法可以直接生成一个线程并启动它，而且无需为线程的清理负责。这个方法的接口是：&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;color: #110000; background-color: #effff4; border-left-color: silver; "&gt;&lt;div style="padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; vertical-align: top; "&gt;&lt;span style=" color: #339933; "&gt;+&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;&lt;span style=" color: #993333; "&gt;void&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;detachNewThreadSelector&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;SEL&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;aSelector toTarget&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;id&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;aTarget withObject&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;id&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;anArgument&lt;/div&gt;&lt;/div&gt;&lt;p&gt;前两种方法创建后，需要手机启动，启动的方法是：&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;color: #110000; background-color: #effff4; border-left-color: silver; overflow-x: auto; overflow-y: auto; width: 1000px; "&gt;&lt;div style="padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; vertical-align: top; "&gt;&lt;span style=" color: #339933; "&gt;-&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;&lt;span style=" color: #993333; "&gt;void&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;start&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong style=" font-size: 15px; "&gt;二、线程的同步与锁&lt;/strong&gt;&lt;br style=" text-indent: 2em; line-height: 25px; " /&gt;要说明线程的同步与锁，最好的例子可能就是多个窗口同时售票的售票系统了。我们知道在java中，使用synchronized来同步，而iphone虽然没有提供类似java下的synchronized关键字，但提供了NSCondition对象接口。查看NSCondition的接口说明可以看出，NSCondition是iphone下的锁对象，所以我们可以使用NSCondition实现iphone中的线程安全。这是来源于网上的一个例子：&lt;br style=" text-indent: 2em; line-height: 25px; " /&gt;SellTicketsAppDelegate.h 文件&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;color: #110000; background-color: #effff4; border-left-color: silver; overflow-x: auto; overflow-y: auto; width: 1000px;  "&gt;&lt;div style="padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; vertical-align: top; "&gt;&lt;span style=" color: #666666; font-style: italic; "&gt;// SellTicketsAppDelegate.h&lt;/span&gt;&lt;br/&gt;import &lt;span style=" color: #339933; "&gt;&amp;lt;&lt;/span&gt;UIKit&lt;span style=" color: #339933; "&gt;/&lt;/span&gt;UIKit.&lt;span style=" color: #202020; "&gt;h&lt;/span&gt;&lt;span style=" color: #339933; "&gt;&amp;gt;&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;@interface SellTicketsAppDelegate &lt;span style=" color: #339933; "&gt;:&lt;/span&gt; NSObject &lt;span style=" color: #339933; "&gt;&amp;lt;&lt;/span&gt;UIApplicationDelegate&lt;span style=" color: #339933; "&gt;&amp;gt;&lt;/span&gt; &lt;span style=" color: #009900; "&gt;{&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #993333; "&gt;int&lt;/span&gt; tickets&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #993333; "&gt;int&lt;/span&gt; count&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;NSThread&lt;span style=" color: #339933; "&gt;*&lt;/span&gt; ticketsThreadone&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;NSThread&lt;span style=" color: #339933; "&gt;*&lt;/span&gt; ticketsThreadtwo&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;NSCondition&lt;span style=" color: #339933; "&gt;*&lt;/span&gt; ticketsCondition&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;UIWindow &lt;span style=" color: #339933; "&gt;*&lt;/span&gt;window&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;}&lt;/span&gt;&lt;br/&gt;@property &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;nonatomic&lt;span style=" color: #339933; "&gt;,&lt;/span&gt; retain&lt;span style=" color: #009900; "&gt;)&lt;/span&gt; IBOutlet UIWindow &lt;span style=" color: #339933; "&gt;*&lt;/span&gt;window&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;@end&lt;/div&gt;&lt;/div&gt;&lt;p&gt;SellTicketsAppDelegate.m 文件&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;color: #110000; background-color: #effff4; border-left-color: silver; overflow-x: auto; overflow-y: auto; width: 1000px;  "&gt;&lt;div style="padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; vertical-align: top; "&gt;&lt;span style=" color: #666666; font-style: italic; "&gt;// SellTicketsAppDelegate.m&lt;/span&gt;&lt;br/&gt;import &lt;span style=" color: #ff0000; "&gt;"SellTicketsAppDelegate.h"&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;@implementation SellTicketsAppDelegate&lt;br/&gt;@synthesize window&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;span style=" color: #339933; "&gt;-&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;&lt;span style=" color: #993333; "&gt;void&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;applicationDidFinishLaunching&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;UIApplication &lt;span style=" color: #339933; "&gt;*&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;application &lt;span style=" color: #009900; "&gt;{&lt;/span&gt;&lt;br/&gt;tickets &lt;span style=" color: #339933; "&gt;=&lt;/span&gt; &lt;span style=" color: #0000dd; "&gt;100&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;count &lt;span style=" color: #339933; "&gt;=&lt;/span&gt; &lt;span style=" color: #0000dd; "&gt;0&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #666666; font-style: italic; "&gt;// 锁对象&lt;/span&gt;&lt;br/&gt;ticketCondition &lt;span style=" color: #339933; "&gt;=&lt;/span&gt; &lt;span style=" color: #009900; "&gt;[&lt;/span&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;NSCondition alloc&lt;span style=" color: #009900; "&gt;]&lt;/span&gt; init&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;ticketsThreadone &lt;span style=" color: #339933; "&gt;=&lt;/span&gt; &lt;span style=" color: #009900; "&gt;[&lt;/span&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;NSThread alloc&lt;span style=" color: #009900; "&gt;]&lt;/span&gt; initWithTarget&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;self selector&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;@selector&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;run&lt;span style=" color: #009900; "&gt;)&lt;/span&gt; object&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;nil&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsThreadone setName&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;@&lt;span style=" color: #ff0000; "&gt;"Thread-1"&lt;/span&gt;&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsThreadone start&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;ticketsThreadtwo &lt;span style=" color: #339933; "&gt;=&lt;/span&gt; &lt;span style=" color: #009900; "&gt;[&lt;/span&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;NSThread alloc&lt;span style=" color: #009900; "&gt;]&lt;/span&gt; initWithTarget&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;self selector&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;@selector&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;run&lt;span style=" color: #009900; "&gt;)&lt;/span&gt; object&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;nil&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsThreadtwo setName&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;@&lt;span style=" color: #ff0000; "&gt;"Thread-2"&lt;/span&gt;&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsThreadtwo start&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #666666; font-style: italic; "&gt;//[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #666666; font-style: italic; "&gt;// Override point for customization after application launch&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;window makeKeyAndVisible&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;}&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;span style=" color: #339933; "&gt;-&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;&lt;span style=" color: #993333; "&gt;void&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;run&lt;span style=" color: #009900; "&gt;{&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #b1b100; "&gt;while&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;TRUE&lt;span style=" color: #009900; "&gt;)&lt;/span&gt; &lt;span style=" color: #009900; "&gt;{&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #666666; font-style: italic; "&gt;// 上锁&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsCondition lock&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #b1b100; "&gt;if&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;tickets &lt;span style=" color: #339933; "&gt;&amp;gt;&lt;/span&gt; &lt;span style=" color: #0000dd; "&gt;0&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;&lt;span style=" color: #009900; "&gt;{&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;NSThread sleepForTimeInterval&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #800080; "&gt;0.5&lt;/span&gt;&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;count &lt;span style=" color: #339933; "&gt;=&lt;/span&gt; &lt;span style=" color: #0000dd; "&gt;100&lt;/span&gt; &lt;span style=" color: #339933; "&gt;-&lt;/span&gt; tickets&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;NSLog&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;@&lt;span style=" color: #ff0000; "&gt;"当前票数是:%d,售出:%d,线程名:%@"&lt;/span&gt;&lt;span style=" color: #339933; "&gt;,&lt;/span&gt;tickets&lt;span style=" color: #339933; "&gt;,&lt;/span&gt;count&lt;span style=" color: #339933; "&gt;,&lt;/span&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;NSThread currentThread&lt;span style=" color: #009900; "&gt;]&lt;/span&gt; name&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;tickets&lt;span style=" color: #339933; "&gt;--;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;}&lt;/span&gt;&lt;span style=" color: #b1b100; "&gt;else&lt;/span&gt;&lt;span style=" color: #009900; "&gt;{&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #000000; font-weight: bold; "&gt;break&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;}&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsCondition unlock&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;}&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;}&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;span style=" color: #339933; "&gt;-&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;&lt;span style=" color: #993333; "&gt;void&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;dealloc &lt;span style=" color: #009900; "&gt;{&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsThreadone release&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsThreadtwo release&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;ticketsCondition release&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;window release&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;super dealloc&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;}&lt;/span&gt;&lt;br/&gt;@end&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong style=" font-size: 15px; "&gt;三、线程的交互&lt;/strong&gt;&lt;br style=" text-indent: 2em; line-height: 25px; " /&gt;线程在运行过程中，可能需要与其它线程进行通信，如在主线程中修改界面等等，可以使用如下接口：&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;color: #110000; background-color: #effff4; border-left-color: silver; overflow-x: auto; overflow-y: auto; width: 1000px; "&gt;&lt;div style="padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; vertical-align: top; "&gt;&lt;span style=" color: #339933; "&gt;-&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;&lt;span style=" color: #993333; "&gt;void&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;performSelectorOnMainThread&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;SEL&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;aSelector withObject&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;id&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;arg waitUntilDone&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;BOOL&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;wait&lt;/div&gt;&lt;/div&gt;&lt;p&gt;由于在本过程中，可能需要释放一些资源，则需要使用NSAutoreleasePool来进行管理,如：&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px;color: #110000; background-color: #effff4; border-left-color: silver; overflow-x: auto; overflow-y: auto; width: 1000px; "&gt;&lt;div style="padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; vertical-align: top; "&gt;&lt;span style=" color: #339933; "&gt;-&lt;/span&gt; &lt;span style=" color: #009900; "&gt;(&lt;/span&gt;&lt;span style=" color: #993333; "&gt;void&lt;/span&gt;&lt;span style=" color: #009900; "&gt;)&lt;/span&gt;startTheBackgroundJob &lt;span style=" color: #009900; "&gt;{&lt;/span&gt;&lt;br/&gt;NSAutoreleasePool &lt;span style=" color: #339933; "&gt;*&lt;/span&gt;pool &lt;span style=" color: #339933; "&gt;=&lt;/span&gt; &lt;span style=" color: #009900; "&gt;[&lt;/span&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;NSAutoreleasePool alloc&lt;span style=" color: #009900; "&gt;]&lt;/span&gt; init&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #666666; font-style: italic; "&gt;// to do something in your thread job&lt;/span&gt;&lt;br/&gt;...&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;self performSelectorOnMainThread&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;@selector&lt;span style=" color: #009900; "&gt;(&lt;/span&gt;makeMyProgressBarMoving&lt;span style=" color: #009900; "&gt;)&lt;/span&gt; withObject&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;nil waitUntilDone&lt;span style=" color: #339933; "&gt;:&lt;/span&gt;NO&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;[&lt;/span&gt;pool release&lt;span style=" color: #009900; "&gt;]&lt;/span&gt;&lt;span style=" color: #339933; "&gt;;&lt;/span&gt;&lt;br/&gt;&lt;span style=" color: #009900; "&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;如果你什么都不考虑，在线程函数内调用 autorelease 、那么会出现下面的错误：&lt;br style=" text-indent: 2em; line-height: 25px; " /&gt;&lt;code style=" color: #3366cc; font-style: italic; "&gt;NSAutoReleaseNoPool(): Object 0x********* of class NSConreteData autoreleased with no pool in place &amp;#8230;.&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;strong style=" font-size: 15px; "&gt;四、关于线程池，大家可以查看NSOperation的相关资料&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/1907148.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2010/12/15/1907148.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hl13571/archive/2010/12/09/1901602.html</id><title type="text">NSString详细介绍</title><summary type="text">字符串是程序设计最常用的数据类型之一了。在Mac/iPhone编程中，苹果为我们提供了一个不同的字符串类型NSString。有别与普通的String为数据类型，NSString其实是一个对象类型。NSString是NSObject（Cocoa Foundation的基础对象）的子类，所以具有NSObject的所有特性，好的和好的… ….1, 创建一个NSString对象简单方法：*上面的不需要操心内存管理哟～复杂一点儿：（需要内存管理的）*initWithFormat是其中一个初始化方法，常用的还有*以上方法得到的NSString的retain值为1，所以记得release掉阿～～2，使用一个</summary><published>2010-12-09T12:50:00Z</published><updated>2010-12-09T12:50:00Z</updated><author><name>辉郎</name><uri>http://www.cnblogs.com/hl13571/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hl13571/archive/2010/12/09/1901602.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hl13571/archive/2010/12/09/1901602.html"/><content type="html">&lt;span style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 10px; color: #444444; "&gt;&lt;div id="post-324" style="margin-top: 0px; margin-right: 0px; margin-bottom: 4em; margin-left: 0px; clear: both; "&gt;&lt;div&gt;&lt;p&gt;字符串是程序设计最常用的数据类型之一了。在Mac/iPhone编程中，苹果为我们提供了一个不同的字符串类型NSString。有别与普通的String为数据类型，NSString其实是一个对象类型。NSString是NSObject（Cocoa Foundation的基础对象）的子类，所以具有NSObject的所有特性，好的和好的&amp;#8230; &amp;#8230;.&lt;/p&gt;小常识：&lt;br/&gt;NS是Cocoa类对象类型的前缀，来源于史蒂夫-乔布斯被苹果开除那段时间建立的公司NeXT.&lt;br/&gt;@是Cocoa元素的前缀，很多地方我们会看到，比如接下来...&lt;p&gt;&lt;strong&gt;1, 创建一个NSString对象&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;简单方法：&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;&lt;span style="color: #400080; "&gt;NSString&lt;/span&gt; &lt;span style="color: #002200; "&gt;*&lt;/span&gt;aString &lt;span style="color: #002200; "&gt;=&lt;/span&gt; &lt;span style="color: #bf1d1a; "&gt;@&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"我是个NS字符串！"&lt;/span&gt;;  &lt;span style="color: #11740a; font-style: italic; "&gt;//除了引号外加@, 没别的区别&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;*上面的不需要操心内存管理哟～&lt;/p&gt;&lt;p&gt;复杂一点儿：（需要内存管理的）&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;&lt;span style="color: #400080; "&gt;NSString&lt;/span&gt; &lt;span style="color: #002200; "&gt;*&lt;/span&gt;aString &lt;span style="color: #002200; "&gt;=&lt;/span&gt; &lt;span style="color: #002200; "&gt;[&lt;/span&gt;&lt;span style="color: #002200; "&gt;[&lt;/span&gt;&lt;span style="color: #400080; "&gt;NSString&lt;/span&gt; alloc&lt;span style="color: #002200; "&gt;]&lt;/span&gt; initWithFormat&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;@&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"这也是个NS字符串！"&lt;/span&gt;&lt;span style="color: #002200; "&gt;]&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;*initWithFormat是其中一个初始化方法，常用的还有&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;&lt;span style="color: #11740a; font-style: italic; "&gt;//从一个文件读取需要的内容&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #002200; "&gt;-&lt;/span&gt; &lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #a61390; "&gt;id&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;initWithContentsOfFile&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #400080; "&gt;NSString&lt;/span&gt; &lt;span style="color: #002200; "&gt;*&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;path encoding&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #002200; "&gt;(&lt;/span&gt;NSStringEncoding&lt;span style="color: #002200; "&gt;)&lt;/span&gt;enc error&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #400080; "&gt;NSError&lt;/span&gt; &lt;span style="color: #002200; "&gt;**&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;error&lt;br/&gt;&lt;span style="color: #11740a; font-style: italic; "&gt;//从一个地址读取需要的内容&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #002200; "&gt;-&lt;/span&gt; &lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #a61390; "&gt;id&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;initWithContentsOfURL&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #400080; "&gt;NSURL&lt;/span&gt; &lt;span style="color: #002200; "&gt;*&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;url encoding&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #002200; "&gt;(&lt;/span&gt;NSStringEncoding&lt;span style="color: #002200; "&gt;)&lt;/span&gt;enc error&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #400080; "&gt;NSError&lt;/span&gt; &lt;span style="color: #002200; "&gt;**&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;error&lt;/div&gt;&lt;/div&gt;&lt;p&gt;*以上方法得到的NSString的retain值为1，所以记得release掉阿～～&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2，使用一个NSString对象&lt;/strong&gt;&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;&lt;span style="color: #400080; "&gt;NSString&lt;/span&gt; &lt;span style="color: #002200; "&gt;*&lt;/span&gt;aString &lt;span style="color: #002200; "&gt;=&lt;/span&gt; &lt;span style="color: #bf1d1a; "&gt;@&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"This is a NSString"&lt;/span&gt;;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;NSLog&lt;span style="color: #002200; "&gt;(&lt;/span&gt;aString&lt;span style="color: #002200; "&gt;)&lt;/span&gt;;   &lt;span style="color: #11740a; font-style: italic; "&gt;//在控制台输出信息，该函数方法需要一个NSString对象作为参数&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;NSLog&lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"这样不会好使的"&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;NSLog&lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;@&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"这样就会好使拉～"&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;再比如设置一个UIView的标题：&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;&lt;span style="color: #002200; "&gt;[&lt;/span&gt;UIView setTitle&lt;span style="color: #002200; "&gt;:&lt;/span&gt;aString&lt;span style="color: #002200; "&gt;]&lt;/span&gt;;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;span style="color: #002200; "&gt;[&lt;/span&gt;UIView setTitle&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;@&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"标题"&lt;/span&gt;&lt;span style="color: #002200; "&gt;]&lt;/span&gt;;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;UIView.title &lt;span style="color: #002200; "&gt;=&lt;/span&gt; aString;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3，释放NSString&lt;/strong&gt;&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;&lt;span style="color: #002200; "&gt;[&lt;/span&gt;aString release&lt;span style="color: #002200; "&gt;]&lt;/span&gt;; &lt;span style="color: #11740a; font-style: italic; "&gt;//对象将被系统释放掉咯&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;*记得不要释放直接用 = @&amp;#8221;xxx&amp;#8221; 的NSString对象哟，系统会管的～&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4，快速使用一个NSString&lt;/strong&gt;&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;NSLog&lt;span style="color: #002200; "&gt;(&lt;/span&gt;&lt;span style="color: #002200; "&gt;[&lt;/span&gt;&lt;span style="color: #400080; "&gt;NSString&lt;/span&gt; stringWithFormat&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;@&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"一个NS字符串"&lt;/span&gt;&lt;span style="color: #002200; "&gt;]&lt;/span&gt;&lt;span style="color: #002200; "&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;//这种快速方法返回的是一个retain为1，autorelease的对象，不需要操心它的内存管理&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5，常用方法&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;我喜欢NSString的地方就在于很多方法非常方便，比如：&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;nString &lt;span style="color: #002200; "&gt;=&lt;/span&gt; &lt;span style="color: #002200; "&gt;[&lt;/span&gt;aString substringToIndex&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #2400d9; "&gt;4&lt;/span&gt;&lt;span style="color: #002200; "&gt;]&lt;/span&gt;; &lt;span style="color: #11740a; font-style: italic; "&gt;//nString将得到aString中的前四个字符&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;6，小结&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;暂时能记起来的就这么些了，有机会再补充，希望大家NS的愉快～&lt;/p&gt;&lt;/div&gt;&lt;div style="clear: both; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-size: 1.1em; color: #888888; text-align: justify; "&gt;标签：&lt;a href="http://c.gzl.name/archives/tag/nsstring" rel="tag" style="color: #225588; text-decoration: none; "&gt;NSString&lt;/a&gt;&lt;br /&gt;分类目录：&amp;nbsp;&lt;a href="http://c.gzl.name/archives/category/iphone/basic" title="查看 01 - 基础信息 的全部文章" rel="category tag" style="color: #225588; text-decoration: none; "&gt;01 - 基础信息&lt;/a&gt;,&amp;nbsp;&lt;a href="http://c.gzl.name/archives/category/cocoa/cbasic" title="查看 01 - 基础信息 的全部文章" rel="category tag" style="color: #225588; text-decoration: none; "&gt;01 - 基础信息&lt;/a&gt;,&amp;nbsp;&lt;a href="http://c.gzl.name/archives/category/cocoa" title="查看 Cocoa开发 的全部文章" rel="category tag" style="color: #225588; text-decoration: none; "&gt;Cocoa开发&lt;/a&gt;,&amp;nbsp;&lt;a href="http://c.gzl.name/archives/category/iphone" title="查看 iPhone开发 的全部文章" rel="category tag" style="color: #225588; text-decoration: none; "&gt;iPhone开发&lt;/a&gt;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&lt;a href="http://c.gzl.name/archives/324#comments" title="数据类型/对象类型介绍（1）NSString 上的评论" style="color: #225588; text-decoration: none; "&gt;1 条评论&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="post-81" style="margin-top: 0px; margin-right: 0px; margin-bottom: 4em; margin-left: 0px; clear: both; "&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://c.gzl.name/archives/81" rel="bookmark" title="Permanent Link to NSString的内存管理" style="color: #2277aa; text-decoration: none; margin-bottom: 0px; text-align: left; "&gt;NSString的内存管理&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear: both; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-size: 1.1em; color: #888888; text-align: justify; "&gt;2009年06月15日, 5:22 下午&lt;/div&gt;&lt;div&gt;&lt;p&gt;CS193P的笔记上有如下实例：&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;aString &lt;span style="color: #002200; "&gt;=&lt;/span&gt; &lt;span style="color: #bf1d1a; "&gt;@&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"I am a string that 2 years old, man!"&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;这种情况下，字符串储存和管理由系统做，我们不用操心。&lt;/p&gt;&lt;div style="color: #110000; background-color: #f9f9f9; border-left-color: silver; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; overflow-x: auto; overflow-y: hidden; width: 1111px; "&gt;&lt;div style="vertical-align: top; padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; "&gt;aString &lt;span style="color: #002200; "&gt;=&lt;/span&gt; &lt;span style="color: #002200; "&gt;[&lt;/span&gt;&lt;span style="color: #400080; "&gt;NSString&lt;/span&gt; stringWithFormat&lt;span style="color: #002200; "&gt;:&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;@&lt;/span&gt;&lt;span style="color: #bf1d1a; "&gt;"I am a string that %d years old, man!"&lt;/span&gt;,&lt;span style="color: #2400d9; "&gt;2&lt;/span&gt;&lt;span style="color: #002200; "&gt;]&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;第二种情况下，我们需要去retain和release这个字符串，系统不管。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/hl13571/aggbug/1901602.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hl13571/archive/2010/12/09/1901602.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
