import Cocoa
class ViewController: NSViewController
{
@IBOutlet weak var y1Val: NSTextField!
@IBOutlet weak var y2Val: NSTextField!
@IBOutlet weak var x1Val: NSTextField!
@IBOutlet weak var x2Val: NSTextField!
@IBOutlet weak var m: NSTextField!
var y1 = Double.self; y1Val; //Expected declaration on y1Val
}
Я пытаюсь запустить небольшое приложение на моем Mac, но не могу назначать переменные в текстовые поля ввода.
P.S. Я новичок в графическом интерфейсе, но не в Swift.
это было мое лучшее усилие при попытке присвоить y1 (переменную) входному тексту, исходящему от y1Val
var y1 = y1Val.doubleValue. Но вы не можете просто вставить этот код туда, где он есть. Вам потребуется получить доступ к этому значению после того, как пользователь введет текст.





Поскольку вы используете NSViewController и NSTextField, похоже, вы пишете приложение для macOS. Учитывая это, самый простой способ синхронизировать переменную y1 с содержимым вашего текстового поля - использовать привязки какао. Для этого объявите свою переменную с помощью @objc и dynamic, например:
@objc dynamic var y1: Double = 0 // Or whatever the initial value should be
Затем в файле xib или раскадровки выберите текстовое поле, перейдите в Инспектор привязок и привяжите привязку Value к контроллеру представления («Владелец файла», если это xib, «Контроллер представления», если это раскадровка) и установите Model Key Path на y1 (оставьте Controller Key на selection по умолчанию). Теперь, без дополнительного кода, содержимое вашего текстового поля будет синхронизировано с переменной y1; если значение текстового поля изменится, переменная изменится, и наоборот.
спасибо, похоже, работает
Линия
var y1 = Double.self; y1Val;не имеет смысла. Что вы пытаетесь сделать с этой строчкой?