作者r0931265515 (蛙哥)
看板MacDev
標題[問題] 呼叫 objC 物件或方法 from C function
時間Fri Oct 5 17:54:28 2012
小弟徹夜了解 objC 之後(繼承、封裝、多型等基本觀念),還是對於我現在做的
program 有點問題。
顧名思義在我的一個 C function 裡,我成功的呼叫了以下的 ObjC_function
(大概的架構是這樣)
@interface A : NSObject
.
.
.
.
-(void) ObjC_function()
void C_fucntion()
@end
但是我還需要做的是,我想要呼叫按鈕之間能做的事(例如我的按鈕會顯示"結束")
@interface B : UIViewController
.
.
.
IBOutlet UIButton *finishBtn;
IBOutlet UILabel *status;
-(IBAction) finish:(id)sender;
@end
原本 finishBtn 是要手動按下,才會執行裡面的工作(最主要的是改變Label的文字)
,現在想要直接自動地去做 finish() 裡能 work 的事情,而我的關鍵function就是
那個 C_function 。
不知道是否有大大能幫我解惑,感激不盡!
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.178.86
※ 編輯: r0931265515 來自: 140.138.178.86 (10/05 17:55)
1F:推 tentenlee:[self finish:nil]; 加到你C function最後一行 10/05 18:33
2F:→ tentenlee:ㄟ 我看錯了 不要理我.. 10/05 18:34
3F:→ nobody1:(例如我的按鈕會顯示"結束") <== Referencing Outlet拉了? 10/05 22:43
4F:→ r0931265515:恩..其實最主要的是 想要直接更動label的顯示 10/05 23:24
5F:→ r0931265515:如果是有辦法可以直接控制按鈕的話 那是最好 10/05 23:24
6F:→ r0931265515:因為 我的program 有兩顆按鈕 一顆在label上顯示"開始 10/05 23:26
7F:→ r0931265515:意味著 開始跑裡面的function 照理說要按下finish 10/05 23:27
8F:→ r0931265515:會結束正在跑的 function 並且 label上的顯示 變為 10/05 23:27
9F:→ r0931265515:結束 但是我加了一個 C function 希望讓他自動結束 10/05 23:28
10F:→ r0931265515:並且 自動顯示 "結束" 10/05 23:28
11F:推 scentsome:即時的話就用 extern,不然可以用 NSNotification 10/09 00:11