gpt4 book ai didi

objective-c - 将上下文添加到 UI 控件或 NSObject

转载 作者:可可西里 更新时间:2023-11-01 05:39:17 25 4
gpt4 key购买 nike

能够在UIButtonaddTarget 真是太棒了。我只希望有一些偷偷摸摸的方法可以将状态附加到 UIButton,这样当调用目标方法时,我可以神奇地从发送者那里提取该状态(任何 id)。

类似于:

[button shoveMyObjectInThere:foo];
[button addTarget:self action:@selector(touchyTouchy:) forControlEvents:UIControlEventTouchUpInside];

其次是:

-(void) touchyTouchy:(id) sender {
UIButton button = (UIButton*)sender;
id foo = [button getByObjectBack];
// do something interesting with foo
}

如果 UIButton 有一个“id 上下文”属性,开发人员可以在其中推送内容,那会很棒,但情况似乎并非如此。 Objective-C 是一种非常动态的语言,所以我想知道是否有一些偷偷摸摸的方法可以在运行时向对象添加方法或字段?

最佳答案

你可以尝试做一个关联引用

#import <objc/runtime.h>

objc_setAssociatedObject(id object, void *key, id value, objc_AssociationPolicy policy);
objc_getAssociatedObject(id object, void *key);

关于objective-c - 将上下文添加到 UI 控件或 NSObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4610537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com