2011-04-07 53 views
8

當我使用Xcode 3時,我使用了一個在Web上發現的perl腳本進行配置,該腳本允許我自動生成@property,@synthesize和dealloc代碼爲新的實例變量。儘管Xcode 4沒有該用戶腳本菜單。Xcode4自動生成@property聲明以及所有與之相關的代碼

有沒有辦法爲Xcode 4插入這類用戶腳本,或者Xcode 4是否有一個可以自動生成這些東西的新功能? (我看了,但無法找到一個)。

我不是在談論鏈接到IBOutlets。我知道我可以從xib中拖出來,它會爲IBOutlets創建所有正確的東西,但是我正在尋找能爲任何實例變量創建@property,@synthesize和dealloc代碼的東西。

感謝, 肯尼

+0

我沒有解決方案,但我聽說它提示服務菜單可能是在Xcode 4中獲得這種腳本的方式。對於大膽:似乎有一些(無證)? Xcode的插件接口... – n8gray 2011-06-27 17:40:10

回答

3

我強烈(我不能強調這還不夠)提出申請:

Accessorizer

這是迄今爲止最有用的應用程序編寫objective- C和Objective-C 2.0代碼。最初是在ObjC2.0的前幾天寫的,它爲你創造了伊娃獲得者和制定者。多年來它一直在不斷髮展。現在它執行屬性,容器類,鍵值編碼,KVO。

它根據您的風格量身定做:您將括號放在哪一行,如何縮進,您如何評論?它也作爲一項服務安裝,所以你可以從XCode調用它,複製到剪貼板,然後粘貼回XCode。

我不是作者,我沒有得到任何堵塞這個。但是,我已經將它的用法介紹給了我所從事的每個Mac團隊,並且已經在首次使用時將每個Obj-C程序員轉換爲它。

它有一個演示期。絕對至少試一試,看看它是否能解決你的問題。

+2

這看起來像是一個〜ok的方式去做,但是對於10美元,我會期待一些很有意思的東西。我以前一直在使用在http://cocoawithlove.com/2008/12/instance-variable-to-synthesized.html上發現的perl + applescript。這就是我正在尋找的自動化水平。我不必擊中大量的組合鍵,然後導航,然後鍵組合,然後導航,然後鍵組合,然後導航,然後鍵組合。 perl腳本只是一個關鍵組合,一切都是自動完成的。 :/我會投你一票,但這不是我要找的答案。 :( – 2011-04-08 16:03:46

+0

不像xCode 3中的Matt Gallagher腳本選項那樣整潔,但使用xcode 4的Accessorizer似乎爲我完成了這項工作,我們建議您查看它,但希望您不必跳到實現文件中即可 – gamozzii 2012-02-25 07:27:58

0

我也將失去屬性相關的腳本,但我找到了解決方法。如別處所述,XCode 4將自動爲通過IB連接的IBoutlets生成屬性/合成/ dealloc代碼。

所以我在我的項目中使用一些名爲Property_Hack.XIB的虛擬XIB以及一些UILabels,並且每當我需要一個新類屬性時,我都會去Property_Hack,更改所有者並將標籤「連接」到文件。您只需輸入您需要的ivar的名稱,XCode就會將.property語句添加到.h,並在.m中添加@synthesize和dealloc代碼。然後修改.h(刪除IBoutlet關鍵字,並將UILabel更改爲所需的數據類型)。

相對而言並不完美,但與修改這兩個文件的手動工作相比,它仍然是一個節省時間的工具。由於NSInteger和BOOL不需要dealloc代碼,而是分配而不是保留,我通常手動設置它們而不是使用這種方法。NSStrings是否應該被複制或保留是一個論據,我不會在這裏重複:-)

+1

嚴格限制和複雜的UI元素以外的其他任何東西都不是真的解決方案,世界上每一個現代IDE都有自動生成你的獲取者和設置者的方法 – 2012-02-11 22:30:31

+1

我並不不贊同Kenny,我認爲這是一個重大的疏漏,並且讓我咬緊牙關,但對於任何認真的應用程序開發,加快工作流程總比沒有好。我正在使用的企業iPad應用程序有67個類,有503個屬性。 – 2012-02-13 18:33:48

1

我設法得到上面提到的Xcode 3 Perl腳本作爲一種行爲在Xcode 4下工作。

我把它放在github上。 https://bitly.com/HXHiij

希望有所幫助。