2011年9月22日

Objective-C 遇到 method 撞名會發生什麼事....

這東西果然會這樣.....
A big weakness in Objective-C's weak typing

簡單的說,對一個 id 傳 method 很可能不是傳到你想要的那一個,
而是所有能見的 method 中找一個名字一樣的出來傳進去。
這個「所有能見」當然包含了你自己寫的、你 import 進來的,還有整個 foundation。

self...Why I can change self?

Just because self is merely a hidden variable but not "this".

here is a clear reference: What does it mean when you assign [super init] to self?


標題絕對不是什麼哲學問題wwwwwww

2011年9月19日

Apple open source

原來 apple 有 open source @@
http://www.opensource.apple.com/

上篇提到的 CFArray 在這
http://www.opensource.apple.com/source/CF/CF-368.18/Collections.subproj/

NSArray (CFArray)

要做一些事情,有點在意這東西的 performace
所以就找了一下....發現這篇
傑克這真是太神奇了 -_-
有空我一定要來看一下他的 code .....

另外在這邊看到有人說把要砍的東西先通通放到一個array再一起傳給NSArray叫他砍會比較快
hmm...滿有趣的,可能是 iterator 跑的範圍會越來越小?

2011年9月9日

settings on mac

這幾天在用 mac,這東西還真是什麼都跟別人不一樣...
記一下 terminal setting

首先沒有 .bashrc!這邊叫做 .profile -_-
再來預設 terminal 是沒有顏色的....
要在 .profile 裡面設 alias ls='ls -vG'
-G 是讓他有顏色, -v 是可以看中文
然後要打中文的話,再新增一個 ~/.inputrc 檔,內容如下:
set convert-meta off
set meta-flag on
set output-meta on

另外 vimrc 在 /usr/share/vim!
難怪我改 ~/.vimrc 跟 /etc/vimrc 都沒用 -_-