gpt4 book ai didi

iphone - 使用 NSInspiration : constant value

转载 作者:行者123 更新时间:2023-12-03 16:39:36 25 4
gpt4 key购买 nike

我正在处理一个旧的 iPhone OS 2.x 项目,我想在针对 3.x 进行设计时保持兼容性。

我正在使用NSInitation,是这样的代码

NSInvocation* invoc = [NSInvocation invocationWithMethodSignature:
[cell methodSignatureForSelector:
@selector(initWithStyle:reuseIdentifier:)]];
[invoc setTarget:cell];
[invoc setSelector:@selector(initWithStyle:reuseIdentifier:)];
int arg2 = UITableViewCellStyleDefault; //????
[invoc setArgument:&arg2 atIndex:2];
[invoc setArgument:&identificadorNormal atIndex:3];
[invoc invoke];

以 3.0 和 2.0 都喜欢的方式编写代码,每个代码都使用正确的语法。

我在用问号标记的行上遇到了问题。

问题是我正在尝试分配给 arg2,这是一个尚未在 OS 2.0 中定义的常量。由于 NSIncation 的所有操作都是间接执行操作以避免编译器错误,因此如何以间接方式将此常量设置为变量?某种performSelector“为变量赋值”...

这可能吗?感谢您的帮助。

最佳答案

UITableViewCellStyleDefault 定义为 0,因此您可以在通常使用 UITableViewCellStyleDefault 的任何地方使用 0。另外,不需要使用 NSInvocation,这样就可以了:

UITableViewCell *cell = [UITableViewCell alloc];
if ([cell respondsToSelector:@selector(initWithStyle:reuseIdentifier:)])
cell = [(id)cell initWithStyle:0 reuseIdentifier:reuseIdentifier];
else
cell = [cell initWithFrame:CGRectZero reuseIdentifier:reuseIdentifier];

-[UITableViewCell initWithFrame:reuseIdentifier:] 仍然可以在 3.x 上使用,只是已被弃用。

关于iphone - 使用 NSInspiration : constant value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406036/

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