作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有几个要使用的对象,例如 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/
我有几个要使用的对象,例如 obj11、obj21、obj33 等。 要使用的正确对象的选择取决于用户定义的一些参数,例如:要使用的大小和对象的种类。 因此,对象名称的第一个数字代表大小,第二个字母代
我是一名优秀的程序员,十分优秀!