例如,我有
NSString *string = @"return sharedInstance;";我有一个类方法
+ (id)sharedInstance;我可以将该字符串转换为普通代码并在我的方法中使用吗?这对于调试非常有用。假设我有一个方法,我想测试一些代码(假设它是简单的返回值,可以吗?)我可以只为该方法编写代码,并在运行时测试新代码。
发布于 2013-02-16 20:43:01
你所描述的并不完全可能。但也支持某些东西,例如,实例化类和使用字符串调用方法(理论上)的能力:
NSClassFromString允许您根据传递的字符串实例化类。
NSSelectorFromString允许您调用或“调用”基于传递的字符串的方法。
该字符串可以在运行时动态确定。
根据你的评论,这显然不是你感兴趣的(尽管我认为它确实解决了你的问题)。您可以做的一件事(它不是原生的Obj-C,但考虑到一些注释,我认为它是恰当的)是将JavaScript注入到UIWebView中。
发布于 2013-02-16 20:47:24
iOS上的Objective C是一种编译语言;代码在运行应用程序之前很久就会被解释并转换为机器码。以这样的动态方式运行objective C是不可能的。为此,您需要一种动态语言。
https://stackoverflow.com/questions/14910372
复制相似问题