我一直为NSStrung
键入NSStrong
和NSString
。它今天非常糟糕,它让我希望我有一个全球别名,所以他们就像NSString
一样工作。
这让我想知道这是否可以在Xcode中为类名(或函数)设置全局别名?无需编写代码。
也许甚至有一些方法可以让Xcode自动更正NSStrung和NSStrong到NSString,或者在任何程序中执行此操作的工具。
答案 0 :(得分:7)
您所寻找的当然是:
@compatibility_alias ExistingClass OldClass;
这非常简单,但如果您需要更多信息,可以在GCC manual或this NSHipster article
中阅读相关信息答案很晚,但您的问题是DuckDuckGo中objective-c class alias
搜索字词的第一个链接
修改:相关问题为answered on this SO
答案 1 :(得分:2)
我认为您应该尝试正确使用它,但作为您问题的可能答案,您可以在“语言和文本”系统偏好设置中设置NSStrong和NSStrung文本替换条目。在Xcode中启用编辑>格式>替换>文字替换。
理论上应该可以工作,但是现在我已经在我的电脑上试过它似乎是不一致的,而且每次都不做更换。这个问题可能是我的电脑特有的,所以也许可以尝试一下。
另一个帮助你的方法是为NSString添加一个代码片段,其中“快捷方式”为NSStrung / NSStrong,当你输入它时,只需按回车键/返回/标签即可获得正确的NSString
。缺点是如果你按下空格键就不会纠正它,如果你没有看屏幕,那就是正常情况。
答案 2 :(得分:0)
我刚回答了一个问题,并记住了这一点。 Here是我的问题。
基本上你可以做的是在默认的Prefix.pch文件中有#define NSStrung NSString
(和其他人)。
我建议您在自己的自定义模板中执行此操作,但也可以通过打开plist /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Base/Base.xctemplate/TemplateInfo.plist
并在Definitions > ___PACKAGENAME___-Prefix.pch > Beginning
的值中添加#defines(如上所述)来执行此操作键。
这绝对不是最佳做法,但它可以解决您的问题。使用风险自负。
答案 3 :(得分:0)
typedef怎么样
typedef exist_class new_class;
答案 4 :(得分:-10)
这很简单/很棒/我一直这样做(毫不掩饰到极端,甚至)..
请参阅@ 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✝痒痒你的幻想 ..
对于所有玩家仇恨那些...谁想要实际使用他们的代码...喘气..其他人 ...你可以轻松地在“标准”/“长期之间移动-form“和你的”内部“”快捷方式“via git's smudge and clean,没有人知道你的肮脏小秘密。在签出/提交等之前/之后,只需预先/后处理您想要的“替换”。