iOS中没有应用程序名称前缀的Xcode类名称
Posted
技术标签:
【中文标题】iOS中没有应用程序名称前缀的Xcode类名称【英文标题】:Xcode Class name in iOS without application name prefix 【发布时间】:2014-08-13 08:32:37 【问题描述】:我正在尝试使用此代码从 xib 加载 UIView
NSString *className = NSStringFromClass([self class]);
_customView = [[[NSBundle mainBundle] loadNibNamed:className owner:self options:nil] firstObject];
在另一个项目中它工作正常,但在我的新项目中,className 返回"myapp.MyClassName"
。我不知道为什么它会添加应用程序名称“myapp”。类名前的前缀。我没有名为 "myapp.MyClassName.xib"
的笔尖,所以应用程序崩溃了
Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/XXXX-XXXX/myapp.app> (loaded)' with name 'myapp.MyClassName''
我有:
初始化 _customView 的 CustomXibUIView 类(目标 C) 继承 CustomXibUIView 的 MyClassName 类 (Swift)(用于初始化程序) MyClassName.xib我正在使用 XCode6-Beta5,ios SDK 8.0
,部署目标 iOS7+
我怎样才能得到没有前缀的清晰类名?
【问题讨论】:
我也有同样的问题。它似乎只发生在 Swift 文件中。不得不在 '.' 上分开,这很丑陋。 【参考方案1】:这对我有用。
class var getClassFullName: String return NSStringFromClass(self)
class var getClassName: String
return (getClassFullName as NSString).pathExtension
【讨论】:
以上是关于iOS中没有应用程序名称前缀的Xcode类名称的主要内容,如果未能解决你的问题,请参考以下文章