Alright, ребята, я борюсь с этим: я уже успел сделать пользовательские функции без аргументов работать так:Как передать аргументы пользовательской функции NSNumber для NSExpression в Swift?
NSExpression(format: "function(1+1, 'myCustomFunction'").expressionValueWithObject(nil, context: nil) as! Double
Но я понятия не имею о том, как реализовать пользовательскую функцию с аргументами, я уже пробовал передавая следующую строку в NSExpression без успеха:
"function(1+1, 'myCustomFunctionWithArgument(42)')" // 42 as the argument
где пользовательская функция выглядит следующим образом:
public extension NSNumber {
func myCustomFunctionWithArgument(x: Double) -> NSNumber
//...
}
Тем не менее, я получаю следующее сообщение об ошибке:
-[__NSCFNumber myCustomFunctionWithArgument(42)]: unrecognized selector sent to instance 0xb000000000000045
2016-03-14 18:23:00.755 MyApp[3517:263390] *** Terminating app due to uncaught exception
я уже искал повсюду, и я только найти ответы на Objective-C, как на этом уроке: https://spin.atomicobject.com/2015/03/24/evaluate-string-expressions-ios-objective-c-swift/#comment-549856
В конце концов, он объясняет, как это сделать на Objective-C, но не в Swift. Есть ли способ сделать это? Btw это для моего приложения Калькулятор.