彩虹字体生成器
无意间又在网上看到自己十年之前做的小玩意了,下载下来保存一下,呃,自己都没有备份过,汗一个。
这是我第一次汉化的日本语界面的小工具,它用来生成过渡色彩文字的HTML代码,网上应该还有很多类似的工具,也许偶尔在论坛上或者制作网页的时候还是会再用到这个小工具,索性在放上主页方便大家下载。
彩虹字体生成器:Rainbow
为方便更多的人能学习斯坦福大学的iPhone应用程序开发这门课程,我决定抽空翻译该课程的录像,第一次制作字幕,授课录像的字幕翻译工作量很大,所以,见谅,中文字幕会放出的晚一点。
这门课程可以在iTunes U上免费下载到,http://tinyurl.com/cs193p-winter2010
课程的主页是:http://www.stanford.edu/class/cs193p/cgi-bin/drupal/
如果你希望及时知道中文字幕的发布,请在Twitter上跟随我,或者搜索话题CS193P+Subtitle,我会在Twitter上及时发布信息。
我尽量按照计算机编程的术语来翻译课程内容,但是可能理解能力有限,有的地方会有疏漏,欢迎交换想法和学习经验。
这里发布的字幕,英文字幕由斯坦福提供的视频中的CC字幕提取生成,其一切权利归属斯坦福大学,中文字幕的著作权归属于luoyi.com,可以以学习为目的自由传播下载使用,禁止未经许可的使用于商业用途。
————————————————
1. Introduction to Mac OS X, Cocoa Touch, Objective-C and Tools (January 5, 2010)
调用一个对象的方法
[object method];
[object methodWithInput:input];
方法可以有返回值
output = [object methodWithOutput];
output = [object methodWithInputAndOutput:input];
你还可以调用类的方法,这也是创建一个对象的办法。在下面的例子里,我们调用
NSSting类的string方法,用来返回一个新的NSString类的对象。
id myObject = [NSString string];
id类型意味着变量myObject可以是任意类型的对象。
创建对象有两种主要的办法。
自动释放(autoreleased)的对象
NSString* myString = [NSString string];
手动分配和释放的对象
NSString* myString = [[NSString alloc] init];
如果你通过手工alloc的方式创建一个对象,之后你需要release这个对象。同样,你也不能手工释放(release)一个能自动释放(autoreleased)的对象,因为这将会使你的应用程序崩溃。
//string1 将被自动释放
NSString* string1 = [NSString string];
//必须在用完后手工释放
NSString* string2 = [[NSString alloc] init];
[string2 release];
OOP(面向对象编程) 术语
Class(类): 定义了一组数据或代码,是对象的“type(类型)”;
Instance(实例): 基于一种“Class(类)”而在存储空间内特定分配出的对象;
Method(方法): 告诉对象如何操作的“函数”;
Instance Variable (或称 “ivar”,实例变量): 一系列属于单一对象的特定数据。
Objective-C 术语
message expression 消息表达式
[receiver method:argument]
message 消息
[receiver method:argument]
selector 选择器
[receiver method:argument]
method 方法
由“消息”选择出的执行代码
类与方法的声明
@interface myObject /*myObject为接口名*/ : NSObject /*NSObject为基类*/{
NSString* value1; /*此处value1、2为变量*/
NSString* value2;
}
- value1; /*此处value1、2为方法*/
- value1;
@end
方法的定义都放置在{}外部,在方法前面的±符号表示方法的类型,“+”表示该方法为静态方法,针对类,“-”表示该方法为动态方法,针对实例。
很久没有碰过开发了,OOP那点点曾经学过的内容都全抛出脑外消逝殆尽了,上周开始接触Xcode和Objective-C。相比较C++,Obj-C可读性更高,不过一时不太习惯语法和约定。通过跟随斯坦福的CS193P课程练习做了一个简单App,觉得Objective-C应该不难入手,继续学习这个课程,比完全的自学轻松了许多。
不像iPhoto和iPhone那样,与Aperture同步之后,导入iPhone上的照片质量有所下降,我们用精美的照片当作壁纸可不想让它变的模模糊糊的样子。不少同学找不到图片下降的原因在哪,其实只要稍加修改Aperture的设置就能还原高质量的照片。
进入Aperture的设置(Preferences),在Previews栏中将预览缓存的质量提高,可以参考下图,

然后我们在要同步至iPhone的相册处按住Ctrl点击鼠标唤出菜单,更新预览缓存。

接着,同步下iPhone吧。

Mighty Mouse终于完全不好使了,忍受不住没有鼠标的痛苦,于是下定决定对它动手了。又是撬又是割,终于拆了,清洗完毕后鼠标半活过了来了。拍照纪念一下。
今晚惊喜的发现刚刚发布的TwitBird Pro(前身为iTwitter)已经在新版本中增加了API功能,这个关键的功能让广大被GFW阻挡在Twitter大门之外的推友们有了再次顺畅Tweet的可能。
就像在Symbian OS上使用Gravity一样,我们可以使用birdnest代理做我们的API,如果没有私人的API,大家可以尝试使用下面的设置方法。设置位置在设置>TwitBird Pro里面。

开启API支持

可以使用Search功能,代表Search API工作正常了

可以同步Tweet,代表主API工作正常了
除了关键性的API功能以外,TwitBird Pro也支持了Push Notification,当收到@yourid的tweet时会即时提示。此外本次更新程序做了不少变动,更多的功能等待着大家去体验。
![]()

可爱的宝宝终于降生了,恭喜下Syun正式升级成爸爸了,这里有个与小宝一起成长的BLOG~来看美少女梦工厂真人版吧:) http://www.steedyu.net/?cat=3

还在继续折腾iPhone,主题基本搞定,在修改中遇到一些问题,把解决经验Share一下。WinterBoard替换系统短信程序界面的文件夹原来是Bundles/com.apple.MobileSMS,由于3.0.1中MobileSMS修改了资源位置,所以需要把该文件夹修改为Bundles/com.apple.chatkit才可正确替换。
此外,在替换图标时SMS,Compass,VoiceMemos这三个图标我没法以类似Compass.png的方式替换,解决方法是按照这三个程序plist资源描述中程序名来命名图标文件,如短信的需要改名为com.apple.MobileSMS.png。