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类名称的主要内容,如果未能解决你的问题,请参考以下文章

在android中调用方法详细信息,例如行号,方法名称和类名称[重复]

Xcode 6 中的 iCloud 容器名称前缀更改

PHP之namespace小记

XMonad如何通过名称/类名称关注特定窗口?

使用 LESS 或 SASS 为 CSS 类名添加前缀

Xcode - 修改变量名类名及字符串的替换操作