2008年12月12日 星期五

用 Xcode 3.1 寫 Cocoa+Python Application

[From 在 Mac 上用 Python + PyObjc 的第一步 @ 國二學生認真打雜]


跟據 ericsk 長輩的文章,其實善用 InterfaceBuilder 和 Delegate python binding app,就可以用 Xcode 透過 ObjC 的方式來寫 OS/X 的程式。可是我在跑這個範例的時候,一直遇到這個問題

[Session started at 2008-12-11 21:38:21 +0800.] 2008-12-11 21:38:22.247 Pycoffee[55867:10b] Could not connect the action mybuttonClicked: to target of class PycoffeeAppDelegate



Pycoffee 是我的 app 的名稱,請教過 Google 大神以後,終於在這篇文章裡面找到問題的所在,原來是 python 慣用的 tab vs space 的問題。去看了我的 project 設定,咦?的確是 tab as tab,有圖有真相。

Xcode preferences

原本以為是我自己打進去的 code 不小心用了 space,但是把整個 invisible char 都顯示出來以後,才發現原來兇手是 Xcode 自己產生的這段程式碼:



Spaces instead of tabs

把前面的那段 space 取代為 tab 以後,就正常了。


沒有留言:

張貼留言