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