﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-天使的白骨-随笔分类-开源项目</title><link>http://www.cppblog.com/TianShiDeBaiGu/category/18774.html</link><description>给我一个EMACS，我不需要操作系统</description><language>zh-cn</language><lastBuildDate>Mon, 13 Mar 2017 08:13:49 GMT</lastBuildDate><pubDate>Mon, 13 Mar 2017 08:13:49 GMT</pubDate><ttl>60</ttl><item><title>人工智能分类笔记 《哥德尔-埃舍尔-巴赫》</title><link>http://www.cppblog.com/TianShiDeBaiGu/archive/2017/03/13/214749.html</link><dc:creator>何清龙</dc:creator><author>何清龙</author><pubDate>Mon, 13 Mar 2017 04:46:00 GMT</pubDate><guid>http://www.cppblog.com/TianShiDeBaiGu/archive/2017/03/13/214749.html</guid><wfw:comment>http://www.cppblog.com/TianShiDeBaiGu/comments/214749.html</wfw:comment><comments>http://www.cppblog.com/TianShiDeBaiGu/archive/2017/03/13/214749.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/TianShiDeBaiGu/comments/commentRss/214749.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/TianShiDeBaiGu/services/trackbacks/214749.html</trackback:ping><description><![CDATA[@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div><span style="color: red;">稳定的分层：</span></div>
<div>数学家/物理学家常常会说：&#8220;c是个常量，p是个参量,v是个变量&#8221;。他们的意思是这三个都是可变的，但是存在一种可变的层次差别。c构成全局条件，p构成全局性更弱的一种条件---他可以在c固定时保持变动，最后v可以在c和p保持固定时变来变去的。</div>
<div>设想牙科医生不可能让病人的位置变来变去的，但是医生自己变动位置是有用的。其中的概念便是：c是病人，p是病人的牙齿，而v是医生本人。</div>
<div></div>
<div><span style="color: red;">框架和嵌套：</span></div>
<div>在框架语言中，可以说情景的心智表示包含着彼此嵌套的框架。</div>
<div>设想有若干个柜子，每个柜子上可以装若干个抽屉，这些抽屉可以放进&#8220;子框架&#8221;，你可以把别的柜子压缩后放进去，这个过程可以递归。</div>
<div>在思想层面，我们会把&#8220;人&#8221;的概念扭曲压缩。比如在羽毛球赛球场上，你会把人考虑成一个队员，你已经把&#8220;人&#8221;这个概念压缩到&#8220;羽毛球赛&#8221;中去了。</div>
<div>用框架进行知识表示的理论依赖于这样一个想法：世界是由半封闭的子系统构成的。</div>
<div></div>
<div></div>
<div><span style="color: red;">滑动：</span></div>
<div>我们会把想法进行变形，我们必须要适时的产生使得概念变形的能力，没有什么绝对不变的东西。也不能把事情弄得模凌两可的，以至于根本丧失意义。</div>
<div>我们会把圆形&#8220;滑动&#8221;为椭圆形，或者凹陷的圆形。但是不会把圆形&#8220;滑动&#8221;成三角形，虽然他们都是闭环图形。<br />
<br />
<span style="color: red;">跳跃性和全局后退：</span><br />
设想有一条狗，目标要获得一块骨头，前方有一面栅栏，栅栏有门。<br />
&#8220;新手&#8221;会直接冲向栅栏有骨头的位置，然后碰到栅栏过不去了，就会&#8220;旺旺。。&#8221;。&#8220;老手&#8221;会先跑到门口，绕过门口然后再跑向骨头。<br />
这里有一个思维跳跃性的过程，曲线救国的方式，在多次直接方式取得不好的后果后，高级的思维需要跳出原有的思维，后退几步来看待问题。这在深度学习上，是一种经验演变。但是他应该可以从思维的不同层次的滑动中推演出来。<br />
<div></div>
<div><span style="color: red;">演员系统：</span></div>
<div>框架+演员=符号。演员之间传递消息，但是消息的解释取决于演员自己的特性，于是符号的内容将由框架和演员共同决定.演员是信号的启发器</div>
<div></div>
<div><span style="color: red;">多重表示：</span></div>
<div>副总统是政府这部汽车的备用轮胎。概念骨架不仅必须存在于不同的抽象层次上，还需要存在于不同概念&#8220;维度&#8221;上。</div>
<div></div>
<div><span style="color: red;">关于人工智能的几个的问题：</span></div>
<div>1.程序能否写出优美的乐曲？</div>
<div>会的，但不是现在。音乐是情感的语言，精神世界不可低估。能有如此能力的&#8220;程序&#8221;必须得能自己走进这个世界，在纷繁的世界中与生活抗争，并每时每刻体验到自己的感受。他必须懂得暗夜里凉风带来的喜悦与孤独，懂得对于带来温暖爱抚地手掌的渴望，还要能体验到一个人死去后引起的心碎与生活。明了放弃与厌世，悲伤与失望，决心与胜利，虔诚与敬畏。能把希望/恐惧/烦恼/欢乐/宁静/不安等对立的情绪混合到一起。。。。</div>
<div>2.是否可以在低层次设置核心参数控制程序？</div>
<div>不能，如同人不会在意自己每天死掉几千个神经原一样，我们几乎没事，除非你要给大脑做手术折腾的太厉害。但这已经不属于低层次控制</div>
<div>3.人工智能是否存在超智能？</div>
<div>可能和规模有关，我们也许有一个临界点，也许人类已经位于零界点之上。有一天会达到全能自我认知，即笛卡尔的&#8220;我思故我在&#8221;将演变为&#8220;我在思我所思&#8221;。</div>
<div>也许人工智能有一天达到了人类的智能，但是他会进入下一阶段。我们可能还不知道那是什么样的。</div>
<div>4.是否存在能击败任何人的下棋程序？</div>
<div>可能已经有，但是现在还只是下棋。</div>
<div>跳出下棋，普遍的去看，真正的只能必然依赖于一种纵览全局的能力---即可以说是在程序中编入了一种&#8220;跳出系统外&#8221;的能力。一旦实现了这一步，你就无法再完全控制这个程序了，他将超过一个特定的临界点，那时你不得不与你造出来的东西打交道。</div>
</div>
<div><br />
</div>
<div>
<p style="margin: 0px; font-size: 12px; line-height: normal; font-family: '.PingFang SC'; color: #454545;"><span style="color: red;">智能的可抽取性</span></p>
<p style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Helvetica Neue'; color: #454545; min-height: 14px;"><br />
</p>
<p style="margin: 0px; font-size: 12px; line-height: normal; font-family: '.PingFang SC'; color: #454545;">为阐明大脑中发生的思维过程，有两个基本问题 &nbsp;</p>
<p style="margin: 0px; font-size: 12px; line-height: normal; font-family: '.PingFang SC'; color: #454545;">&nbsp;一个是解释低层次的神经发射通讯是如何导致高层次的符号激活通讯的，</p>
<p style="margin: 0px; font-size: 12px; line-height: normal; font-family: '.PingFang SC'; color: #454545;">另一个是自足地解释高层次的符号激活通讯<span style="line-height: normal; font-family: 'Helvetica Neue';">&#8212;&#8212;</span>建立一个不涉及低层神经事件的理论。</p>
<p style="margin: 0px; font-size: 12px; line-height: normal; font-family: '.PingFang SC'; color: #454545;">如果后者是可能的<span style="line-height: normal; font-family: 'Helvetica Neue';">&#8212;&#8212;</span>这是目前进行的所有人工智能研究的基础中的一个关键假设<span style="line-height: normal; font-family: 'Helvetica Neue';">&#8212;&#8212;</span>那么智能就可能实现于不同于大脑的其它硬件上。那将表明智能是一种可以从它所在的硬件中<span style="line-height: normal; font-family: 'Helvetica Neue';">"</span>抽取。出来的性质<span style="line-height: normal; font-family: 'Helvetica Neue';">&#8212;&#8212;</span>换句话说，智能将是一种软件性质。</p>
<p style="margin: 0px; font-size: 12px; line-height: normal; color: #454545;"><span style="font-family: '.PingFang SC';">这将意味着意识和智能这一现象的确和大多数极其复杂的自然现象一样是高层次的它们有自身的高层规律，这些归律依赖于低层，但又可以从低层中抽取出来。相反</span><font face="Helvetica Neue">，</font><font face=".PingFang SC">如果没有全部由神经原(或模拟神经原)组成的硬件就绝对无法实现符号触发模式的话，这将意味着智能是一种局限于人脑的现象，比起那种可以用一个具有若干不同层次的规律体系来说明的现象，对它的</font></p>
<p style="margin: 0px; font-size: 12px; line-height: normal; font-family: '.PingFang SC'; color: #454545;">释要困难得多。</p>
</div>
<div><br />
</div><img src ="http://www.cppblog.com/TianShiDeBaiGu/aggbug/214749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/TianShiDeBaiGu/" target="_blank">何清龙</a> 2017-03-13 12:46 <a href="http://www.cppblog.com/TianShiDeBaiGu/archive/2017/03/13/214749.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>solve crosse language of object-c &amp; swift UIScrollViewDelegate/UITableViewDelegate rac_signalForSelector("scrollViewDidEndDragging:willDecelerate:") crash </title><link>http://www.cppblog.com/TianShiDeBaiGu/archive/2015/01/08/209433.html</link><dc:creator>何清龙</dc:creator><author>何清龙</author><pubDate>Thu, 08 Jan 2015 02:34:00 GMT</pubDate><guid>http://www.cppblog.com/TianShiDeBaiGu/archive/2015/01/08/209433.html</guid><wfw:comment>http://www.cppblog.com/TianShiDeBaiGu/comments/209433.html</wfw:comment><comments>http://www.cppblog.com/TianShiDeBaiGu/archive/2015/01/08/209433.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/TianShiDeBaiGu/comments/commentRss/209433.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/TianShiDeBaiGu/services/trackbacks/209433.html</trackback:ping><description><![CDATA[Chinese readers annotation:这个问题google,stackoverflow,github都还没有相关资料，所以把内容写成英文的，以便于帮助国外的朋友。<br />English readers annotation:This problem has not been found by google or stackoverflow or github yet. So I writed it at here so that you could get help from this.(By the way, I am a Chinese)<br /><br />I want to use rac_signalForSelector to observe the UITableView's delegate so I could let the dataDelegate and delegate being reused from a independent class. So If they have the same cell, I would not need to implement them triples.<br /><br />If you use the RAC(which means ReactiveCocoa), Firstly come into you head is a code sample like this:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->self.rac_signalForSelector(Selector("scrollViewDidEndDecelerating:")).subscribeNext{&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.setTabBarVisiable(<span style="color: #0000FF; ">false</span>,&nbsp;animated:<span style="color: #0000FF; ">true</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />scrollView.<span style="color: #0000FF; ">delegate</span>&nbsp;=&nbsp;self</div><br />well...It's fine if you don't need this method:<br /><div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->self.rac_signalForSelector("scrollViewDidEndDragging:willDecelerate:").subscribeNext{&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.setTabBarVisiable(<span style="color: #0000FF; ">false</span>,&nbsp;animated:<span style="color: #0000FF; ">true</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div>But if you do, you will get a crash message(EXE_BAD_ACCESS) which caused by the RAC.It means RAC can't find a method form string '@' (which should be @"<span style="font-size: 13px; background-color: #eeeeee;">scrollViewDidEndDragging:willDecelerate:</span><br />"), &nbsp;So I have work around with it, &nbsp;and I guessed it's the reason of swift Protocol isn't a NSObject(you could see from UIScrollViewDelegate's declaration).&nbsp;<br /><br />By a chance I found there is a method named 'NSProtocolFromString' and RAC provided a method&nbsp;<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->-&nbsp;(RACSignal&nbsp;*)rac_signalForSelector:(SEL)selector&nbsp;fromProtocol:(Protocol&nbsp;*)protocol;</div><br /><br />So I combined them both<br /><div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->self.rac_signalForSelector("scrollViewDidEndDragging:willDecelerate:",<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fromProtocol:NSProtocolFromString("UITableViewDelegate")).subscribeNext{&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.setTabBarVisiable(<span style="color: #0000FF; ">false</span>,&nbsp;animated:<span style="color: #0000FF; ">true</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div><br />It doesn't crash any more and the function of my design worked fine. So, that's the way! done!<br />Hope this helps you out, it's really struggle.<img src ="http://www.cppblog.com/TianShiDeBaiGu/aggbug/209433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/TianShiDeBaiGu/" target="_blank">何清龙</a> 2015-01-08 10:34 <a href="http://www.cppblog.com/TianShiDeBaiGu/archive/2015/01/08/209433.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谈谈MVVM和MVC，使用swift集成RFP框架（ReactiveCocoa）</title><link>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/08/05/207913.html</link><dc:creator>何清龙</dc:creator><author>何清龙</author><pubDate>Tue, 05 Aug 2014 03:29:00 GMT</pubDate><guid>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/08/05/207913.html</guid><wfw:comment>http://www.cppblog.com/TianShiDeBaiGu/comments/207913.html</wfw:comment><comments>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/08/05/207913.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/TianShiDeBaiGu/comments/commentRss/207913.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/TianShiDeBaiGu/services/trackbacks/207913.html</trackback:ping><description><![CDATA[非常激动的和各位分享RFP的经验。目前国内使用swift开发实际项目的文章几乎还找不到，不用说ReactiveCocoa了。我打算把两个一起简单说一下。<br />MVC和MVVM的差异，我觉得对比实在是很细，重点是，MVVM的分割性更好，正交性强，而MVC在逻辑和试图代码方面经常混在一起,不能很好的模块化,以至于在多人开发的模式下,时不时出现逻辑混乱的情况。<br />另一个核心问题是，常规的编程思路在对象的依赖关系的维护方面基本无能为力。<br />我不想在一篇文章中扯一大把概念，MVVM的介绍和优点你可以自己去搜索。<br /><div><a href="http://www.cnblogs.com/lori/p/3501764.html" title="这里是比较简介的介绍"><span style="color: #0000ff;">这里是比较简洁的介绍</span></a></div><br />原来兴致冲冲的百度了一下swift RFP／RAC／MVVM，没实质性内容，干脆自己写一篇。<br />就谈谈在swift中使用MVVM吧，你可以去我的<a href="https://github.com/he-mark-qinglong/jiading_swift" title="github仓库"><span style="color: #0000ff;">github仓库</span></a>下载这里的完整代码.<br />RAC在object－c中的使用在github上有实例的。各位可以移步去看一下。<br /><br />环境前提是你要有xcode6，pod管理器。这些工具你应该自己去找一下，当然你就用我的这个项目也行。<br />说一下集成步骤：<br />1.使用pod添加ReactiveCocoa到工程中，细节略。<br />2.打开编译xcworkspace，新建一个swift代码文件，在建立过程中，xcode会问你是不是要建立与object－c的混编中间头文件，选择是，并在这个头文件中加入RAC的头文件<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#import&nbsp;&lt;ReactiveCocoa/RACEXTScope.h&gt;<br />#import&nbsp;&lt;ReactiveCocoa/ReactiveCocoa.h&gt;</div>以及你要使用的object－c的其他库的头文件<br />3.可以使用了，新建一个swift源文件，建立一个nib文件和它关联，然后设置一个button，代码类似这样：<br /><div style="padding: 4px 5px 4px 4px; font-size: 13px; border: 1px solid #cccccc; width: 1229.890625px; word-break: break-all; background-color: #eeeeee;"><br />@IOBullet button:UIButton&nbsp;=&nbsp;UIButton.buttonWithType(UIButtonType.Custom)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button.rac_signalForControlEvents(UIControlEvents.TouchUpInside)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.subscribeNext{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;<span style="color: #0000ff;">in</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NSLog("按钮点击事件")<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008000;">//</span><span style="color: #008000;">加入到UI层去</span></div><div><font color="#008000">测试可以使用RAC了。</font>点击这个按钮，打印内容就出来了</div>4.在swift中使用类似object－c中的RAC(button, hidden) = RACObserve(button2, hidden)是会出错的。需要自己实现，object－c中的RAC（）这个宏很讨厌，想搞懂的可以网上查，我也记不清了。好了，我们来解决这个问题。<br />新建一个swift源码，最好叫ReactiveCocoa.swift，加入下面的代码：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; "><br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;ReactiveCocoa.swift<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;XianRenZhang<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; "><br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Created&nbsp;by&nbsp;kriswangw&nbsp;on&nbsp;14/11/14.<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2014年&nbsp;kriswangw.&nbsp;All&nbsp;rights&nbsp;reserved.<br /></span><span style="color: #008000; ">//<br /></span><br /><span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">struct</span>&nbsp;RAC&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;target&nbsp;:&nbsp;NSObject!<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;keyPath&nbsp;:&nbsp;String!<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;nilValue&nbsp;:&nbsp;AnyObject!<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;init(_&nbsp;target:&nbsp;NSObject!,&nbsp;_&nbsp;keyPath:&nbsp;String,&nbsp;nilValue:&nbsp;AnyObject?&nbsp;=&nbsp;nil)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.target&nbsp;=&nbsp;target<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.keyPath&nbsp;=&nbsp;keyPath<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.nilValue&nbsp;=&nbsp;nilValue<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;func&nbsp;assignSignal(signal&nbsp;:&nbsp;RACSignal)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signal.setKeyPath(self.keyPath,&nbsp;onObject:&nbsp;self.target,&nbsp;nilValue:&nbsp;self.nilValue)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;func&nbsp;RACObserve(target:&nbsp;NSObject!,&nbsp;keyPath:&nbsp;NSString)&nbsp;-&gt;&nbsp;RACSignal&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;target.rac_valuesForKeyPath(keyPath,&nbsp;observer:&nbsp;target)<br />}<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;func&nbsp;&lt;=&nbsp;(rac:RAC,&nbsp;signal:RACSignal){<br />&nbsp;&nbsp;&nbsp;&nbsp;rac.assignSignal(signal)<br />}<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;func&nbsp;&gt;=(&nbsp;signal:RACSignal,&nbsp;rac:RAC){<br />&nbsp;&nbsp;&nbsp;&nbsp;rac.assignSignal(signal)<br />}</div>然后我只要改变tableView的hidden属性，scrollView的属性就会跟着改变了，不用再去维护两个变量。<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">两个按钮的点击切换不同的内容。</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.changguan_btn.rac_signalForControlEvents(UIControlEvents.TouchUpInside)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.subscribeNext&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.tableView.hidden&nbsp;=&nbsp;<span style="color: #0000FF; ">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.zhanpin_btn.rac_signalForControlEvents(UIControlEvents.TouchUpInside)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.subscribeNext{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.tableView.hidden&nbsp;=&nbsp;<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div><br />RAC的函数思想使得代码服用行更强，可以让我们把按钮的控制写成逻辑算法，而不是一个一个的重复的回调事件函数，或者含有多个链接nib文件的函数（不好维护）。<br /><div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">TODO，修改为对应的UIViewController.也有可能是同一个ViewController，但是参数不同</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;ciqi_vc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;UIViewController()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;yuqi_vc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;UIViewController()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;huihua_vc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;UIViewController()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;wenhuajiading_vc&nbsp;&nbsp;=&nbsp;UIViewController()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;zuke_vc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;UIViewController()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;shufa_vc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;UIViewController()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;qingtong_vc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;UIViewController()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;keju_vc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;UIViewController()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;btns2Actions:&nbsp;NSDictionary&nbsp;=&nbsp;[<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"瓷器":[self.qiciBtn,&nbsp;ciqi_vc],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"玉器":[self.yuqiBtn,&nbsp;yuqi_vc],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"绘画":[self.huihuaBtn,&nbsp;huihua_vc],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"文化嘉定":[self.wenhuajiadingBtn,&nbsp;wenhuajiading_vc],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"竹刻":[self.zukeBtn,&nbsp;zuke_vc],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"书法":[self.shufaBtn,&nbsp;shufa_vc],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"青铜":[self.qingtongBtn,&nbsp;qingtong_vc],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"科举":[self.kejuBtn,&nbsp;keju_vc]]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">定制每个button事件跳转的视图控制器。</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(key&nbsp;:&nbsp;AnyObject,&nbsp;value&nbsp;:&nbsp;AnyObject&nbsp;)&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;btns2Actions&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;array&nbsp;=&nbsp;value&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;NSArray;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;btn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;array[0]&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;UIButton;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;vc:UIViewController&nbsp;=&nbsp;array[1]&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;UIViewController;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btn.rac_signalForControlEvents(UIControlEvents.TouchUpInside)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.subscribeNext&nbsp;{&nbsp;_&nbsp;<span style="color: #0000FF; ">in</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.navigationController.pushViewController(vc,&nbsp;animated:<span style="color: #0000FF; ">false</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div>这段代码展示了使用抽象来统一所有事件响应的功能。每一个按钮对应的视图控制器都被绑定到一起了，如果新加入别的功能，代码仍然非常容易维护。所有功能相同的都放在了一起，约束性更强。<br /><br />其他的RAC功能基本上默认就能使用，combineLatest也是可以直接使用的。记住swift中的所有方法调用都是"."下标符号，包括静态方法，init和隐式析够除外。<br /><br />swift中没有#pragma宏，所以，它提供了这个注释风格（内置的）<br /><code style="margin: 0px; padding: 1px 5px; border: 0px; font-size: 13px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; color: #444444; line-height: 17.2800006866455px; background: #eeeeee;">// MARK:</code><span style="color: #444444; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 13px; line-height: 17.2800006866455px; background-color: #fafafa;">,&nbsp;</span><code style="margin: 0px; padding: 1px 5px; border: 0px; font-size: 13px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; color: #444444; line-height: 17.2800006866455px; background: #eeeeee;">// TODO:</code><span style="color: #444444; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 13px; line-height: 17.2800006866455px; background-color: #fafafa;">&nbsp;and&nbsp;</span><code style="margin: 0px; padding: 1px 5px; border: 0px; font-size: 13px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; color: #444444; line-height: 17.2800006866455px; background: #eeeeee;">// FIXME<br /></code>可以达到和#pragma一样的效果<br />最后，swift和RFP都是非常好的东西，希望各位尽快用上，不然你要掉队了<img src ="http://www.cppblog.com/TianShiDeBaiGu/aggbug/207913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/TianShiDeBaiGu/" target="_blank">何清龙</a> 2014-08-05 11:29 <a href="http://www.cppblog.com/TianShiDeBaiGu/archive/2014/08/05/207913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsonRPC的curl命令行使用，python使用，object-c使用</title><link>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/07/11/207617.html</link><dc:creator>何清龙</dc:creator><author>何清龙</author><pubDate>Fri, 11 Jul 2014 09:45:00 GMT</pubDate><guid>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/07/11/207617.html</guid><wfw:comment>http://www.cppblog.com/TianShiDeBaiGu/comments/207617.html</wfw:comment><comments>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/07/11/207617.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/TianShiDeBaiGu/comments/commentRss/207617.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/TianShiDeBaiGu/services/trackbacks/207617.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 记录jsonRPC在python、curl命令行、object-c里的标准使用方法。其他编程语言也可参照&nbsp;&nbsp;<a href='http://www.cppblog.com/TianShiDeBaiGu/archive/2014/07/11/207617.html'>阅读全文</a><img src ="http://www.cppblog.com/TianShiDeBaiGu/aggbug/207617.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/TianShiDeBaiGu/" target="_blank">何清龙</a> 2014-07-11 17:45 <a href="http://www.cppblog.com/TianShiDeBaiGu/archive/2014/07/11/207617.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ios上opencv的图像特征点检测，核心代码。如果你做的更完善了，希望能反馈给我</title><link>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/06/12/207267.html</link><dc:creator>何清龙</dc:creator><author>何清龙</author><pubDate>Thu, 12 Jun 2014 10:06:00 GMT</pubDate><guid>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/06/12/207267.html</guid><wfw:comment>http://www.cppblog.com/TianShiDeBaiGu/comments/207267.html</wfw:comment><comments>http://www.cppblog.com/TianShiDeBaiGu/archive/2014/06/12/207267.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/TianShiDeBaiGu/comments/commentRss/207267.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/TianShiDeBaiGu/services/trackbacks/207267.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这部分代码是opencv做特征点检测的核心算法，放在这里大家可以拿去修改和研究。UIImage转换的过程可以从网上找，很容易找到。<br>这里是项目的github主页<br>https://github.com/he-mark-qinglong/opencv_Feature-points-matching&nbsp;&nbsp;<a href='http://www.cppblog.com/TianShiDeBaiGu/archive/2014/06/12/207267.html'>阅读全文</a><img src ="http://www.cppblog.com/TianShiDeBaiGu/aggbug/207267.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/TianShiDeBaiGu/" target="_blank">何清龙</a> 2014-06-12 18:06 <a href="http://www.cppblog.com/TianShiDeBaiGu/archive/2014/06/12/207267.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>移植QT到QNX</title><link>http://www.cppblog.com/TianShiDeBaiGu/archive/2013/03/28/198892.html</link><dc:creator>何清龙</dc:creator><author>何清龙</author><pubDate>Thu, 28 Mar 2013 02:42:00 GMT</pubDate><guid>http://www.cppblog.com/TianShiDeBaiGu/archive/2013/03/28/198892.html</guid><wfw:comment>http://www.cppblog.com/TianShiDeBaiGu/comments/198892.html</wfw:comment><comments>http://www.cppblog.com/TianShiDeBaiGu/archive/2013/03/28/198892.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/TianShiDeBaiGu/comments/commentRss/198892.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/TianShiDeBaiGu/services/trackbacks/198892.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: QNX 是工业安全的实时操作系统，在arm9平台上移植QT，以方便应用程序的可移植性。&nbsp;&nbsp;<a href='http://www.cppblog.com/TianShiDeBaiGu/archive/2013/03/28/198892.html'>阅读全文</a><img src ="http://www.cppblog.com/TianShiDeBaiGu/aggbug/198892.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/TianShiDeBaiGu/" target="_blank">何清龙</a> 2013-03-28 10:42 <a href="http://www.cppblog.com/TianShiDeBaiGu/archive/2013/03/28/198892.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VLC播放器架构剖析</title><link>http://www.cppblog.com/TianShiDeBaiGu/archive/2012/03/29/169420.html</link><dc:creator>何清龙</dc:creator><author>何清龙</author><pubDate>Thu, 29 Mar 2012 07:17:00 GMT</pubDate><guid>http://www.cppblog.com/TianShiDeBaiGu/archive/2012/03/29/169420.html</guid><wfw:comment>http://www.cppblog.com/TianShiDeBaiGu/comments/169420.html</wfw:comment><comments>http://www.cppblog.com/TianShiDeBaiGu/archive/2012/03/29/169420.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/TianShiDeBaiGu/comments/commentRss/169420.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/TianShiDeBaiGu/services/trackbacks/169420.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 分析这个开源软件有一段时间了，VLC的代码还是比较宏伟。暂时还没有完全弄明白，先把我分析的部分东西分享下吧。要是谁有兴趣一起分析，记得找我&nbsp;&nbsp;<a href='http://www.cppblog.com/TianShiDeBaiGu/archive/2012/03/29/169420.html'>阅读全文</a><img src ="http://www.cppblog.com/TianShiDeBaiGu/aggbug/169420.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/TianShiDeBaiGu/" target="_blank">何清龙</a> 2012-03-29 15:17 <a href="http://www.cppblog.com/TianShiDeBaiGu/archive/2012/03/29/169420.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>chrome代码里面发现的好东西，很有意思。想了好久，目前也只有这个解释了--为了更安全</title><link>http://www.cppblog.com/TianShiDeBaiGu/archive/2011/09/22/arraysize.html</link><dc:creator>何清龙</dc:creator><author>何清龙</author><pubDate>Thu, 22 Sep 2011 02:51:00 GMT</pubDate><guid>http://www.cppblog.com/TianShiDeBaiGu/archive/2011/09/22/arraysize.html</guid><wfw:comment>http://www.cppblog.com/TianShiDeBaiGu/comments/156515.html</wfw:comment><comments>http://www.cppblog.com/TianShiDeBaiGu/archive/2011/09/22/arraysize.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cppblog.com/TianShiDeBaiGu/comments/commentRss/156515.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/TianShiDeBaiGu/services/trackbacks/156515.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 看chrome发现的精华&nbsp;&nbsp;<a href='http://www.cppblog.com/TianShiDeBaiGu/archive/2011/09/22/arraysize.html'>阅读全文</a><img src ="http://www.cppblog.com/TianShiDeBaiGu/aggbug/156515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/TianShiDeBaiGu/" target="_blank">何清龙</a> 2011-09-22 10:51 <a href="http://www.cppblog.com/TianShiDeBaiGu/archive/2011/09/22/arraysize.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>