iOS中没有应用程序名称前缀的Xcode类名称

时间:2014-08-13 08:32:37

标签: ios objective-c xcode swift xib

我正在尝试使用此代码从xib加载UIView

NSString *className = NSStringFromClass([self class]);
_customView = [[[NSBundle mainBundle] loadNibNamed:className owner:self options:nil] firstObject];

在另一个项目中,它工作正常,但在我的新项目中,className返回"myapp.MyClassName"。我不知道它为什么添加应用程序名称“myapp”。类名前缀。我没有名为"myapp.MyClassName.xib"的nib,因此应用程序崩溃

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 +

如何获得没有前缀的明确类名?

1 个答案:

答案 0 :(得分:3)

这对我有用。

class var getClassFullName: String { return NSStringFromClass(self)   }

class var getClassName: String {
  return getClassFullName.pathExtension
}