在JavaScript中,我们有类似.toString的东西,它可以将整个函数对象转换为字符串。 我们在IOS上有类似的东西吗?
例如,在JavaScript中,如果我们有这样的函数,在使用.toString转换它并在控制台中打印值后,我们会看到整个函数对象。
function sum(a, b)
{
return a + b;
}
console.log(sum.toString());
// expected output:
// "function sum(a, b)
// {
//return a + b;
// }"
我们可以为IOS做类似的事吗?我在Swift中尝试了String(描述:Function),但这不起作用,并将输出作为(Function),但不是像JavaScript中那样完整的结构.toString。
public func say_hello()
{
print("Hello, World!")
}
String(describing: say_hello))
//Output:(Function)
答案 0 :(得分:0)
尽管有许多评论解释了为什么不可能(在许多情况下也不可行),但我想指出您可以在Swift应用程序中使用JavaScript代码,从而使用该语言的序列化机制。有关详细信息,请查看JSContext。这当然不会使事情变得更简单,但它确实在运行时注入/更改/扩展功能提供了额外的灵活性。
答案 1 :(得分:0)
这在Swift / Objc中是不可能的