[心得] 用NSConnection來做scriptable app

看板Perl作者 (dryman)時間14年前 (2011/01/27 12:40), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
※ [本文轉錄自 MacDev 看板 #1DG55uAm ] 作者: dryman (dryman) 看板: MacDev 標題: [心得] 用NSConnection來做scriptable app 時間: Thu Jan 27 00:53:09 2011 我是個perl的愛好者 無奈perl不像python/ruby一樣有官方的cocoa binding 只有Foundation有官方支援 (cocoa有人自己做binding,但是我的電腦由於wxwidget爛掉不能用) 經過研究後發現有個東西可以用,就是NSConnection 由於他在Foundation.framework裡面,所以perl也可以使用 ======= obj-c的部份,在application delegate中 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { // Insert code here to initialize your application id connection = [NSConnection defaultConnection]; [connection setRootObject:self]; [connection registerName:@"testServer"]; } 註冊一個testServer的名稱,等會由其他的程式來讀取 在perl或其他script language中: #!/usr/bin/perl use Foundation; $server = NSConnection-> rootProxyForConnectionWithRegisteredName_host_("testServer",0); # 把註冊名稱的這個物件抓出來 if (!$server or !$$server) { print "Can't get server\n"; } else{ print "can reach server\n"; $server->retain(); $server->myAlert_("hello world!\n"); $server->release(); } myAlert是我自己寫的obj-c method 這邊想弄什麼method/getter/setter都ok的啦~~ 使用時要先把obj-c server的程式啟動 然後再用perl去遙控它 因此,程式當中只要多加上那一小段NSConnection的程式碼 附上自己程式中一部分架構的文件 整個程式就可以透過NSConnection來遙控了 真的是蠻好玩的hack XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.169.142 ※ 編輯: dryman 來自: 114.45.169.142 (01/27 00:53)

01/27 11:52,
讚 (fb玩太多...)
01/27 11:52
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.46.171

02/02 19:00, , 1F
GJ 說到FB 我加入PERL的粉絲團~隔天有各外國人就把我加
02/02 19:00, 1F

02/02 19:01, , 2F
朋友 原來是要我幫他寫作業~=.= 要人寫作業的不分國籍
02/02 19:01, 2F

02/02 19:02, , 3F
不過他們大一計概就有學PERL要交作業
02/02 19:02, 3F
文章代碼(AID): #1DGFSyCj (Perl)
文章代碼(AID): #1DGFSyCj (Perl)