ios - iOS 的 WebView 禁止类名?

标签 ios objective-c classname

我创建了一个没有任何实现的 NSObject 子类,并将其命名为“WebView”。 在我的代码中,我需要能够使用 NSClassFromString 动态实例化此类的对象。

虽然它看起来像是一件微不足道的工作,但我对这个特定的类名“WebView”有疑问。 它看起来像 NSClassFromString() 对于这个特定的类名是失败的,但是使用 lldb 我可以打印 class1 和 class2 的描述,并且两者都显示“WebView”。

还有其他人遇到同样的问题吗?是否有一些禁止类名的列表,例如实例变量等?

@interface WebView : NSObject
@end

@implementation WebView
@end

@implementation ViewController
- viewDidLoad {
    Class class1 = [WebView class];
    Class class2 = NSClassFromString(NSStringFromClass(class1));

    NSAssert(class1 == class2, @"Classes not equal"); // FAIL
}
@end

还有一个例子:

[class1 new]; // OK
[class2 new]; // EXC_BAD_ACCESS (code=2, address=0x0)

最佳答案

enter image description here

当我尝试分配 WebView 时。它查看苹果的内部框架,如图所示。

关于ios - iOS 的 WebView 禁止类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21846938/

相关文章:

ios - 在 iOS 中创建水平无限滚动菜单栏

iOS,setTransform 被 setFrame 覆盖了吗?重新运行 setFrame 后不重新绘制变换

c++ - Objective-C - 以编程方式设置自定义 Mac 屏幕分辨率

iphone - Cocos2D标签不可见,黑屏

ios - 自适应弹出窗口上的关闭按钮

css - 自定义 className 语义 ui react

iphone - 标题 View 不是工作类注册错误,UICollectionView

ios - imagePickerController 移动和缩放不起作用

touchmove 中的 JavaScript DOM 更改延迟到移动 Safari 上的滚动结束

javascript - 如何使用 jQuery 查找具有电子邮件地址作为类名的元素?