UIView 类别中的 -awakeFromNib

Posted

技术标签:

【中文标题】UIView 类别中的 -awakeFromNib【英文标题】:-awakeFromNib in UIView Category 【发布时间】:2015-10-02 11:51:48 【问题描述】:

在 UIView 类别的 -awakeFromNib 方法中编写代码是否安全。

UIView+XXXXXX.m

@implementation UIView (XXXXXX)

- (void) awakeFromNib 

    /* some code here */


@结束

【问题讨论】:

你想做什么? 【参考方案1】:

行为未定义,因此我认为它不安全。

来自 Apple 文档:

如果在类别中声明的方法的名称与 原始类中的方法,或者另一个类中的方法 相同的类(甚至是超类),行为未定义为 在运行时使用哪种方法实现。这不太可能 如果您在自己的类中使用类别,这将是一个问题,但可以 使用类别向标准 Cocoa 添加方法时导致问题 或 Cocoa Touch 类。

见:

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html

【讨论】:

以上是关于UIView 类别中的 -awakeFromNib的主要内容,如果未能解决你的问题,请参考以下文章

用于直接设置原点和大小的 UIView 类别

c_cpp iOS类别方法将约束更改为UIView

带有 CAShapeLayer 的 UIView 不显示 CAGradientLayer

复制、克隆或复制 UIView

UIView 的圆顶角并添加边框

UIView animationWithDuration 在调用两次时不起作用