Re: [問題] 呼叫 objC 物件或方法 from C function
其實你應該做的是像這樣:
@interface foo:NSObject
- (IBAction)doJob:(id)sender;
@end
@implementation foo
- (IBAction)doJob:(id)sender
{
label.text = @"Start";
call_your_c_function();
label.text = @"Finished";
}
不要老是想逆天從C去呼叫操作ObjC的東西...
不過這做法就不管如果使用者中途想暫停的話怎麼辦啦...要的話就要另外開thread
或者用GCD處理,而且相對的你的C function那邊也要檢查狀態就是。
※ 引述《r0931265515 (蛙哥)》之銘言:
: 小弟徹夜了解 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 。
: 不知道是否有大大能幫我解惑,感激不盡!
: 謝謝!
--
Luna quieres ser madre
y no encuentras querer
que te haga mujer
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.95.143
推
10/06 10:47, , 1F
10/06 10:47, 1F
→
10/06 10:48, , 2F
10/06 10:48, 2F
→
10/06 10:49, , 3F
10/06 10:49, 3F
→
10/06 10:50, , 4F
10/06 10:50, 4F
→
10/06 10:51, , 5F
10/06 10:51, 5F
→
10/06 14:01, , 6F
10/06 14:01, 6F
→
10/06 14:01, , 7F
10/06 14:01, 7F
→
10/07 11:22, , 8F
10/07 11:22, 8F
→
10/07 11:22, , 9F
10/07 11:22, 9F
→
10/08 00:40, , 10F
10/08 00:40, 10F
→
10/08 00:41, , 11F
10/08 00:41, 11F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):