如何为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非常有用!文本替换