對於NSString
,我繼續輸入NSStrung
和NSStrong
。今天真是太糟糕了,它讓我希望我有一個全球化的別名,所以他們的工作就像NSString
。如何爲Objective-C類創建全局別名?
這讓我想知道這是否有可能在Xcode中爲類名(或函數)設置全局別名?沒有編寫代碼。
也許有一些方法可以讓Xcode自動將NSStrung和NSStrong自動更正爲NSString,或者是在任何程序中都可以執行此操作的工具。
對於NSString
,我繼續輸入NSStrung
和NSStrong
。今天真是太糟糕了,它讓我希望我有一個全球化的別名,所以他們的工作就像NSString
。如何爲Objective-C類創建全局別名?
這讓我想知道這是否有可能在Xcode中爲類名(或函數)設置全局別名?沒有編寫代碼。
也許有一些方法可以讓Xcode自動將NSStrung和NSStrong自動更正爲NSString,或者是在任何程序中都可以執行此操作的工具。
我想你應該設法得到它的權利,但作爲一個可能的回答你的問題,你可以在「語言和文本」系統偏好設置NSStrong和NSStrung文本替換項。在Xcode中啓用編輯>格式>替換>文本替換。
理論上應該可以工作,但現在我已經在我的電腦上試過了,它似乎是不一致的,並且不會每次都進行更換。這個問題可能是特定於我的電腦的東西,所以也許試試看。
另一種幫助你的選擇是爲NSString添加一個代碼片段,其中「shortcut」是NSStrung/NSStrong,這樣,當你輸入它時,你只需按Enter/Return/Tab即可獲得正確的NSString
。不足之處在於,如果按下空格鍵,則不會糾正它,而如果您沒有在屏幕上查看,通常會這樣做。
Xcode中的文本替換對我無效,但它們在其他程序中正常工作。 Typinator也適用於Xcode,我正在測試它。 – LearnCocos2D 2013-02-19 23:37:13
@ LearnCocos2D它修正了NSStrung,當它是一個標識符例如:'id NSStrung':/不太有用 – 7usam 2013-02-20 00:17:40
我只是有一個問題的回答雷並記住這一點。 Here是我的問題。
基本上你可以做的是有#define NSStrung NSString
(及其他)默認Prefix.pch文件。
我建議這樣做在自己的自定義模板,但你也可以通過打開的plist /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Base/Base.xctemplate/TemplateInfo.plist
,並在Definitions > ___PACKAGENAME___-Prefix.pch > Beginning
關鍵的增值你的#define(如上所述)做到這一點。
這絕對不是最好的做法,但它可以解決你的問題。使用風險自負。
這是很容易/精彩/我做這一切的時候(不加掩飾地到了極致,偶數)..
見@ 7usam對如何在你的代碼/免責聲明等使用好的建議答案.. but go to my project's AtoZMacroDefines.h for more goodness沿線的..
#define NSR NSRect
#define NSPI NSProgressIndicator
#define NSSPLTV NSSplitView
#define NSTSK NSTask
#define NSS NSString
#define NSIV NSImageView
#define NSBWM NSBorderlessWindowMask
#define NSDO NSDragOperation
#define NSSEGC NSSegmentedControl
#define NST NSTimer
#define NSRNG NSRange
#define NSMIS NSMutableIndexSet
#define NSTBAR NSToolbar
#define NSSZ NSSize
#define NSAPP NSApplication
#define NSDE NSDirectoryEnumerator
#define NSVAL NSValue
#define NSDCLASS NSDictionary.class
#define NSFH NSFileHandle
#define NSBUTT NSButton
#define NSURLRES NSURLResponse
#define NSV NSView
#define NSA NSArray
其實我創建這個文件from a plist,這是很容易編輯等...然後我有一個生成的頭對我的一種機制。再次,檢查出來的項目,如果這種ⓢi✝的逗你的幻想 ..
對於所有玩家的仇敵在那裏......誰想要實際上使用的代碼..喘息..其他人 ...你可以很容易的「標準」 /「長表」和你的「內部」,「快捷方式」 via git's smudge and clean之間移動,沒有任何人知道你的骯髒的小祕密。只需在檢出/提交之前/之後預先/後處理/取出所需的「替換物」等等。
我想你不會在團隊中工作......或者你的隊友偷偷地恨你。 ;)那些自定義縮寫是沒有意義的,在保持代碼表現力和可讀性的同時,輸入較少的自動完成。 – LearnCocos2D 2014-01-26 00:24:03
不錯,它適合你,但像這樣的東西是一個噩夢,當你在一個團隊工作。 – Abizern 2014-01-26 00:24:38
@ LearnCocos2D請參閱我的編輯,瞭解我對該問題的解決方案。 – 2014-01-26 00:33:47
你要找的肯定是:
@compatibility_alias ExistingClass OldClass;
這是非常簡單的,但如果你需要更多的信息,你可以在GCC manual或this NSHipster article
讀到它的答案是相當晚但你的問題是第一個鏈接在DuckDuckGo爲objective-c class alias
搜索條件
編輯:一個相關的問題是answered on this SO
應該是被接受的答案 – brandonscript 2015-05-01 18:17:02
像TextExpander和Typinator這樣的工具可以在您鍵入時進行文本替換;你可以使用其中的一個來設置一個NSStrung-to-NSString片段。 – Tim 2013-02-19 22:10:51
在編譯器設置中始終存在'-Dmystring = NSString'等待被濫用的情況,但這會導致任何讀取您的代碼的人產生嚴重的詛咒。 – dasblinkenlight 2013-02-19 22:13:16
使用Typinator過去2個月,非常有幫助! – LearnCocos2D 2013-04-26 09:21:37