gpt4 book ai didi

iphone - iOS - "NSObjectFromString"--- 从字符串构建对象的名称

转载 作者:行者123 更新时间:2023-11-28 20:29:13 27 4
gpt4 key购买 nike

我有几个要使用的对象,例如 obj11、obj21、obj33 等。

要使用的正确对象的选择取决于用户定义的一些参数,例如:要使用的大小和对象的种类。

因此,对象名称的第一个数字代表大小,第二个字母代表种类。如果用户选择对象大小 2 和对象类型 1,则要加载的对象将为“obj21”。

有没有办法根据对象的名称作为 NSString 来引用对象?

有点像

NSString *name = [NSString stringWithFormat:@"obj%d%d", size, kind];
["use object name" doSomething];

我需要 NSSelectorFromString 之类的东西,但在这种情况下,它会根据其名称运行一个方法。我需要的是类似“NSObjectFromString”的东西,它根据对象的名称作为字符串来引用对象。

我该怎么做?谢谢。

最佳答案

因为这是不可能的,最好将你的对象存储在 NSDictionary(或其可变对应物)中,并使用你构建的字符串作为该对象的键。

这是一个奇怪的例子:

NSMutableDictionary *objectDict = [[NSMutableDictionary alloc] init];

... init your objects somehow ...

// build your keys somehow and add the object to the dict
int size = 1;
int kind = 2;

NSString *name = [NSString stringWithFormat:@"obj%d%d", size, kind];
[objectDict addObject:obj12 forKey:name];

... Do some stuff ...

// access your object and call a method
id obj = [objectDict objectForKey:name];
[obj doSomething];

关于iphone - iOS - "NSObjectFromString"--- 从字符串构建对象的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899914/

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