小编Sot*_*ost的帖子

Objective C - 返回NSObject和return objc_getAssociatedObject()之间的区别

我有下一个代码:

// UITextField+Navigation.h
@interface UITextField (Navigation)

@property (weak, nonatomic) UIControl *nextUIControl;

@end

//UITextField+Navigation.m
@implementation UITextField (Navigation)

- (UIControl *) nextUIControl {
    return objc_getAssociatedObject(self, &defaultHashKey);
}

- (void) setNextUIControl:(UIControl *)nextUIControl {
    objc_setAssociatedObject(self, &defaultHashKey, nextUIControl, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

@end
Run Code Online (Sandbox Code Playgroud)

有什么区别:

return objc_getAssociatedObject(self, &defaultHashKey);
Run Code Online (Sandbox Code Playgroud)

return self.nextUIControl;
Run Code Online (Sandbox Code Playgroud)

我试过两种方式,第二种进入无限循环......为什么?也许这是一个明显的答案,但我是初学者^^'

提前致谢.

objective-c objective-c-runtime

0
推荐指数
1
解决办法
193
查看次数

标签 统计

objective-c ×1

objective-c-runtime ×1