【问题标题】:How to Call an Instance Method From a Variable Name [duplicate]如何从变量名调用实例方法[重复]
【发布时间】:2012-06-04 16:20:18
【问题描述】:

可能重复:
object with the name of a string

我想调用下面的代码,但可以用字符串变量更改“itemInstance”。这可能吗?

UIImage *image = [itemInstance getImage:itemNumber];

编辑:我刚刚阅读了 NSSelectorFromString 方法,这似乎是我需要使用的方法,但我不知道它应该如何实现。有什么想法吗?

【问题讨论】:

  • 你真正想要完成什么?
  • @Caleb,我在第一句话中说了我想要完成的事情......菲利普回答了这个问题。乔希,是的,这些看起来确实很相似。我以前没有看到那些。但是,我认为这个问题仍然有帮助,因为它略有不同。

标签: iphone objective-c variables instance


【解决方案1】:

不完全是。获得这种效果的最简单方法是构建一个 NSDictionary,将字符串作为键,将匹配的实例作为值。然后就变成这样了:

UIImage *image = [[dict objectForKey:instanceName] getImage:itemNumber];

【讨论】:

  • 我可以使用 NSArray 代替吗?我现在要试试...
  • 如果你能识别出数组中的实例,我猜。我选了一本字典,因为你说你想按字符串选择。
【解决方案2】:

我通过从 NSArray 中选择实例来解决它。我选择菲利普斯的答案是因为它让我到达了我需要到达的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 2011-08-06
    • 2016-08-30
    相关资源
    最近更新 更多