Быстрое программирование: оценка значения в строке

У меня вопрос по программированию SWIFT / COCOA. Я хочу оценить содержимое внутри строки. Например, у меня есть var1 = "2 + 3". Есть ли встроенная функция в SWIFT / COCOA, которая может оценивать содержимое в var1 и возвращать 5. Я пробовал то, что мог понять из строковой интерполяции, но это не помогает

var myNum = "45/30"
var myNum2 = "sin(30)"
var myNum3 = "\(Float(myNum) * Float(myNum2))";

error: could not find member 'convertFromStringInterpolationSegment'

Кроме того, возник еще один вопрос .. Как определить нажатие клавиши Return в SWIFT? Любой триггер, похожий на "func applicationWillTerminate(aNotification: NSNotification)"


person JMD    schedule 14.02.2015    source источник
comment
Исходя из второго вопроса, вы пытаетесь создать приложение, которое решает математические задачи? У вас есть текстовое поле, в которое пользователь вводит проблему?   -  person Lord Zsolt    schedule 14.02.2015
comment
Не ставьте две совершенно не связанные между собой проблемы в один вопрос!   -  person Martin R    schedule 14.02.2015


Ответы (1)


Для вашего второго вопроса, предполагая, что вы используете textField, вы можете использовать метод делегата:

- (BOOL)textFieldShouldReturn:(UITextField *)textField

Этот метод выполняется при нажатии клавиши возврата. Если вы не хотите скрывать клавиатуру, вам нужно вернуть NO из этой функции в конце.


Если вы используете textView, вы можете обратиться к этой теме. Вы реализуете textView:shouldChangeTextInRange:replacementText: метод UITextViewDelegate и в нем проверяете, равен ли текст замены \n.

person Lord Zsolt    schedule 14.02.2015
comment
Кстати, - (BOOL) textFieldShouldReturn: (UITextField *) textField тоже работает для разработки программ Mac? Я не вижу всплывающих подсказок, когда я набираю textFieldShouldReturn в XCODE. - person JMD; 14.02.2015