gars bien, je suis aux prises avec ceci: je l'ai déjà réussi à créer des fonctions personnalisées sans arguments fonctionnent comme ceci:Comment passer des arguments à une fonction NSNumber personnalisée pour une expression NSE dans Swift?
NSExpression(format: "function(1+1, 'myCustomFunction'").expressionValueWithObject(nil, context: nil) as! Double
Mais je n'ai aucune idée de la façon de mettre en œuvre une fonction personnalisée avec des arguments, je l'ai déjà essayé en passant la chaîne suivante à NSExpression sans succès:
"function(1+1, 'myCustomFunctionWithArgument(42)')" // 42 as the argument
où la fonction personnalisée ressemble à:
public extension NSNumber {
func myCustomFunctionWithArgument(x: Double) -> NSNumber
//...
}
Cependant, je reçois l'erreur suivante:
-[__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
je l'ai déjà cherché partout, et je trouve que des réponses Objective-C, comme sur ce tutoriel: https://spin.atomicobject.com/2015/03/24/evaluate-string-expressions-ios-objective-c-swift/#comment-549856
En fin de compte, il explique comment le faire sur Objective-C, mais pas dans Swift. Y a-t-il un moyen de le faire? Btw c'est pour mon application Calculatrice.