对于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