gpt4 book ai didi

objective-c - 使用存储在变量中的类名来调用类方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:32:40 25 4
gpt4 key购买 nike

我可能想多了/浪费时间试图避免一些条件代码 - 所以我想我会问。我已经看到其他一些问题@这类事情,但他们使用的是 php 或其他语言。

最基本的,我可以做这样的事情吗(我知道语法是错误的):

        Class * var = @"Playback_Up";
// call Class method to get default settings
NSMutableDictionary * dict = [var getPlaybackDefaults];

我为什么要这样做?为了避免一堆条件。我有一个应用程序,用户可以从一系列播放“类型”中进行选择——每种类型都由“播放”类的子类处理。将类名存储在数组中会很方便,然后在进行选择时(从 tableView)调用所选类,创建它的实例等。

这是可能的还是我在这里给自己挖了个坑?

最佳答案

第一行的正确语法是:

Class var = NSClassFromString(@"Playback_Up");

其余的很好,我使用这种技术的频率比你想象的要高。

(除了“Playback_Up”当然不应该是类的名称。)


编辑:请注意下面 Paul.s 的评论。如果您可以在编译时对类进行硬编码,则首选使用 +class

关于objective-c - 使用存储在变量中的类名来调用类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050517/

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