如何为Objective-C类创建全局别名?

如何为Objective-C类创建全局别名?,objective-c,xcode,alias,autocorrect,Objective C,Xcode,Alias,Autocorrect,我一直在为NSString和NSStrong键入NSString。今天的情况太糟糕了,这让我希望我能为他们提供一个全局别名,这样他们就可以像NSString一样工作了 这让我想知道,是否可以在Xcode中为类名(或函数)设置全局别名?没有编写代码,这就是 也许我甚至可以用Xcode将NSStrong和NSStrong自动更正为NSString,或者在任何程序中都可以使用这种工具。我认为您应该尝试正确的方法,但作为您问题的可能答案,您可以在“语言和文本”系统首选项中设置NSStrong和NSStr

我一直在为
NSString
NSStrong
键入
NSString
。今天的情况太糟糕了,这让我希望我能为他们提供一个全局别名,这样他们就可以像
NSString
一样工作了

这让我想知道,是否可以在Xcode中为类名(或函数)设置全局别名?没有编写代码,这就是


也许我甚至可以用Xcode将NSStrong和NSStrong自动更正为NSString,或者在任何程序中都可以使用这种工具。

我认为您应该尝试正确的方法,但作为您问题的可能答案,您可以在“语言和文本”系统首选项中设置NSStrong和NSStrong文本替换项。在Xcode中启用编辑>格式>替换>文本替换

从理论上讲,这应该是可行的,但现在我已经在我的电脑上试过了,它似乎不一致,而且不是每次都更换。这个问题可能是我的电脑特有的,所以不妨试试


另一个帮助您的选项是为NSString添加一个代码段,其中“快捷方式”为NSStrung/NSStrong,这样在您键入它时,只需按enter/return/tab键即可获得正确的
NSString
。不利的一面是,如果您按下空格键,它将无法纠正错误,这是您不看屏幕时通常会做的事情。

我认为您应该尝试将其正确,但作为您问题的可能答案,您可以在“语言和文本”系统首选项中设置NSStrong和NSStrong文本替换项。在Xcode中启用编辑>格式>替换>文本替换

从理论上讲,这应该是可行的,但现在我已经在我的电脑上试过了,它似乎不一致,而且不是每次都更换。这个问题可能是我的电脑特有的,所以不妨试试


另一个帮助您的选项是为NSString添加一个代码段,其中“快捷方式”为NSStrung/NSStrong,这样在您键入它时,只需按enter/return/tab键即可获得正确的
NSString
。缺点是,如果你按下空格键,它将无法纠正错误,这是你不看屏幕时通常会做的事情。

我刚刚得到一个问题的答案,并记住了这一点。这是我的问题

基本上,您可以在default Prefix.pch文件中使用
#define NSStrung NSString
(和其他文件)

我建议在您自己的自定义模板中执行此操作,但您也可以通过打开plist
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Base/Base.xctplate/TemplateInfo.plist
并添加#定义(如上所述)来完成此操作在
定义>\uuuuuuuuuuuuuuuuuuuuuuuuuu-Prefix.pch>开始
键的值中


这肯定不是最佳实践,但它解决了您的问题。使用风险自负。

我刚回答了一个问题,并记住了这一点。这是我的问题

基本上,您可以在default Prefix.pch文件中使用
#define NSStrung NSString
(和其他文件)

我建议在您自己的自定义模板中执行此操作,但您也可以通过打开plist
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Base/Base.xctplate/TemplateInfo.plist
并添加#定义(如上所述)来完成此操作在
定义>\uuuuuuuuuuuuuuuuuuuuuuuuuu-Prefix.pch>开始
键的值中


这肯定不是最佳实践,但它解决了您的问题。使用风险自负。

这很简单/很好/我一直都在做(甚至毫不害羞地到了极点)

有关如何在代码/免责声明中使用的好建议,请参阅@7usam的答案。。。沿着

#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

我实际上创建了这个文件,它很容易编辑,等等。。。然后我有一个机制为我生成头。再次,检查项目,如果这种ⓢ 这很简单/很好/我一直都在做(甚至毫不害羞地到了极点)

有关如何在代码/免责声明中使用的好建议,请参阅@7usam的答案。。。沿着

#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

我实际上创建了这个文件,它很容易编辑,等等。。。然后我有一个机制为我生成头。再次,检查项目,如果这种ⓢ 您需要的当然是:

@compatibility\u别名ExistingClass OldClass

这很简单,但是如果你需要更多的信息,你可以在or中阅读

答案很晚,但您的问题是搜索
objective-c类别名的第一个链接


编辑:一个相关的问题是

你要找的当然是:

@compatibility\u别名ExistingClass OldClass

这很简单,但是如果你需要更多的信息,你可以在or中阅读

答案很晚,但您的问题是搜索
objective-c类别名的第一个链接

编辑:一个相关的问题是关于typedef的问题

typedef exist_class new_class;
typedef怎么样

typedef exist_class new_class;

TextExpander和Typinator等工具可以在您键入时替换文本;您可以使用其中一个来设置NSString到NSString代码段。编译器设置中总是有
-Dmystring=NSString
黑客等着被滥用,但这会招致阅读您的代码的任何人的严厉谴责。在过去的两个月里,使用Typinator非常有用!TextExpander和Typinator等工具可以在您键入时替换文本;您可以使用其中一个来设置NSString到NSString代码段。编译器设置中总是有
-Dmystring=NSString
黑客等着被滥用,但这会招致阅读您的代码的任何人的严厉谴责。在过去的两个月里,使用Typinator非常有用!文本替换