Я воссоздаю простое приложение, которое представляет собой регистратор случаев фельдшера, по сути, это набор кнопок или текстовых полей, которые получают метку времени .text и вставляют их в поле UItextView, чтобы создать хронологический список действий, к которым можно обратитьсякогда фельдшер пишет свои записи о пациенте.
Я создал приложение, управляемое панелью вкладок, используя шаблон Xcode.Я создал UIbuttons и UItextfields, которые создают и вставляют строку в тестовое UItextview на том же поле.Я создал функцию, которая создает строку с отметкой времени
У меня возникли проблемы с отображением той же строки в UItextview на втором экране.
ИССЛЕДОВАНИЕ Поскольку я новичок в этом, яЯ прочитал здесь много постов с пользовательскими настройками по умолчанию, segues, делегатами / протоколами и, кажется, не могу эффективно реализовать их в моих конкретных обстоятельствах (все еще не уверен, что понимаю их достаточно, чтобы сделать это).
У меня естьпонял, что я сохранил строку в значение user.default, а затем я могу использовать это значение во 2-м представлении с функцией, чтобы вставить текст и очистить значение user.default, но у меня не получается запустить функциюс первого взгляда?(получите сообщение об ошибке nil value).
Я чувствую, что это должен быть довольно простой процесс, поэтому не заставить его работать очень расстраивает ...
ВОПРОС Итак, я надеялся, что кто-томожет быть в состоянии продемонстрировать простой способ получить вход UItextField.text из FirstViewController, а затем, когда UIbutton нажата на FirstViewController, передать строку в SecondViewController и вставить ее в поле UITextView (я не хочу отображать 2-й вид).
Из этой демонстрации я надеюсь, что смогу реверс-инжиниринг решения в свой код в качестве возможности обучения, не просто передав мне точный код на серебряном блюде.
import UIKit
class FirstViewController: UIViewController, UITextFieldDelegate {
// View OUTLETS
@IBOutlet weak var customNoteField: UITextField!
@IBOutlet weak var reportTextViewFieldTemp: UITextView!
@IBOutlet weak var lastEntryTV: UITextView!
@IBOutlet weak var caseIDTF: UITextField!
// Class VARIABLES
let timeButtonArray = ["blank0", "Call Received1", "Dispatched2", "Enroute3", "On Scene4", "At Patient5", "Depart Scene6", "At Hospital7", "Available8",]
// VIEW DID LOAD STUFF
override func viewDidLoad() {
super.viewDidLoad()
self.hideKeyboardWhenTappedAround()
self.customNoteField.delegate = self
}
//TIMING BUTTON PRESSED
@IBAction func timeButtonPressed(_ sender: UIButton) {
//GATHER DATA
let timingButtonInput = timeButtonArray[sender.tag]
let DTGstamp = dateTimeStamp()
//FORM STRING
let buttonData = ("\(DTGstamp) \(timingButtonInput) \n")
//SEND buttonDATA TO ReportViewController
/*??? The part I need help with*/
}
//CUSTOM ENTRY UITextfield PRESSED
@IBAction func customNoteDone(_ sender: Any) {
//GATHER DATA
let DTGstamp = dateTimeStamp()
let customNote = customNoteField.text
//FORM STRING
let customData = ("\(DTGstamp) \(customNote) \n")
//TEST FOR EMPTY TEXT
if customNote != "" {
//SEND customDATA TO ReportViewController
/*??? The part I need help with*/
}
//FUNCTION TO GENERATE DATE,TIME GROUP AS CONSTANT
func dateTimeStamp() -> String {
var date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "ddLLLyy HH:mm:ss"
print (dateFormatter.string(from: date))
return (dateFormatter.string(from: date))
}
}
//
// ReportViewController.swift
// EMS Case Logger
//
// Created by Allan Ravenscroft on 3/3/19.
// Copyright © 2019 Allan Ravenscroft. All rights reserved.
//
import UIKit
class ReportViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var reportTextViewField: UITextView!
@IBOutlet weak var reportEmailButton: UIButton!
@IBOutlet weak var reportEditButton: UIButton!
@IBOutlet weak var reportClearButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
hideKeyboardWhenTappedAround()
reportEditButton.layer.cornerRadius = reportEditButton.frame.height / 2
reportEmailButton.layer.cornerRadius = reportEmailButton.frame.height / 2
reportClearButton.layer.cornerRadius = reportClearButton.frame.height / 2
}
//Actions when the clear button is pressed
@IBAction func clearButtonPressed(_ sender: Any) {
reportTextViewField.text = ""
}
//Actions when the edit button is pressed
@IBAction func editButtonPressed(_ sender: Any) {
}
//Actions when the email button is pressed
@IBAction func emailButtonPressed(_ sender: Any) {
showMailComposer(bodytext: reportTextViewField.text)
}
}