Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Swift

Войти
Регистрация
Восстановить пароль
 
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 45
#1

Как сохранить введенные данные пользователя в поле TextField нажатием клавиши «done» на клавиатуре? - Swift

22.10.2015, 21:09. Просмотров 660. Ответов 3
Метки нет (Все метки)

Всем привет! Помогите решить проблему. Есть поле UITextField, пользователь вводит в него текст и нажимает на клавиатуре кнопку "Done", после этого в этом UITextField отображается введенный им текст, НО после перезапуска приложения все введенные данные конечно обнуляются. Теперь вопрос: как научить приложение запоминать эти данные и подставлять их при новой загрузке.
Ковырял NSUserDefaults но ничего дельного не получилось...

Добавлено через 1 час 45 минут
придумал следующее решение:

Objective-C
1
2
3
4
5
6
7
8
@IBOutlet weak var Name: UITextField!
    @IBAction func HideKeyboardName(sender: UITextField) {
        
        let enterName = Name
        NSUserDefaults.standardUserDefaults().setObject(enterName, forKey: "saveName")
        NSUserDefaults.standardUserDefaults().synchronize()
        
    }
но не понимаю как подхватить сохраненные данные
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2015, 21:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сохранить введенные данные пользователя в поле TextField нажатием клавиши «done» на клавиатуре? (Swift):

Как остановить поток нажатием клавиши на клавиатуре - Visual Basic .NET
Public Potock As System.Threading.Thread Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown ...

Создание окна нажатием клавиши на клавиатуре - C++ WinAPI
Добрый день! Только начал изучать C++ WinApi и столкунлся с проблемой! У меня есть главное окно. Как создать еще 2 новых окна,...

Вызов события нажатия кнопки нажатием клавиши на клавиатуре - C#
Доброго времени суток. Когда разрабатывал один проект, внезапно задумался над одной задачкой: можно ли вызвать событие нажатия кнопки, если...

Пример обработки события, связянного с нажатием клавиши на клавиатуре. - C#
Объясните, пожалуйтса, почему, если набрать последовательность символов, при этом не поставив точку, то в конце выводятся два пустых...

Как сохранить введенные данные пользователем - Delphi БД
Здравствуйте, Друзья. Программа: Учет ИТ проектов/идей Набросал на форму что должен ввести человек (в прикреплении скрин формы)...

.NET 4.x Как сохранить введенные пользователем данные? - C#
Какие есть способы реализовать сохранение данных, которые ввел пользователь.? Например: Есть форма, в которой есть два поля TextBox...

3
Jabbson
Модератор
Эксперт по компьютерным сетям
3152 / 2230 / 458
Регистрация: 03.11.2009
Сообщений: 7,036
Записей в блоге: 3
22.10.2015, 21:36 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import UIKit
 
class ViewController: UIViewController {
 
    @IBOutlet weak var TextView: UITextView!
    
    let def = NSUserDefaults.standardUserDefaults()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        if let text = def.stringForKey("textView") {
            TextView.text = text
        }
    }
 
    @IBAction func DoneButton(sender: UIButton) {
        def.setObject(TextView.text, forKey: "textView")
    }
}
1
korolevsky
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 45
22.10.2015, 22:37  [ТС] #3
Если Вас не затруднит - подскажите пожалуйста, как реализовать то же самое но для ImageView (в нем отображается фото из альбома).

Добавлено через 18 минут
Цитата Сообщение от Jabbson Посмотреть сообщение
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import UIKit
 
class ViewController: UIViewController {
 
    @IBOutlet weak var TextView: UITextView!
    
    let def = NSUserDefaults.standardUserDefaults()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        if let text = def.stringForKey("textView") {
            TextView.text = text
        }
    }
 
    @IBAction func DoneButton(sender: UIButton) {
        def.setObject(TextView.text, forKey: "textView")
    }
}
И еще появилась проблема. присутствует второе текстовое поле, которое я тоже исправил на приведенный Вами код, но первое поле работает, а второе все равно не сохраняет...

Добавлено через 15 минут
Прошу прощения - был не внимателен, теперь все работает, работают все текстовые поля. Вопрос остался открыт с ImageView контроллером...
0
Jabbson
Модератор
Эксперт по компьютерным сетям
3152 / 2230 / 458
Регистрация: 03.11.2009
Сообщений: 7,036
Записей в блоге: 3
23.10.2015, 00:35 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от korolevsky Посмотреть сообщение
Вопрос остался открыт с ImageView контроллером
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//
//  ViewController.swift
//  cyber_forum
//
//  Created by Arseniy Ivanov on 10/22/15.
//  Copyright © 2015 JSON LLC. All rights reserved.
//
 
import UIKit
 
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
    
    @IBOutlet var imageView: UIImageView!
    
    let imagePicker = UIImagePickerController()
    
    // путь к Documents
    func getDocumentsDirectory() -> NSString {
        let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
        let documentsDirectory = paths[0]
        return documentsDirectory
    }
    
    // по нажатию кнопки - выбираем картинку из галереи
    @IBAction func loadImageButtonTapped(sender: UIButton) {
        imagePicker.allowsEditing = false
        imagePicker.sourceType = .PhotoLibrary
        
        presentViewController(imagePicker, animated: true, completion: nil)
    }
    
    // после загрузки проверяем есть ли у нас картика в Documents, если есть - ставим в imageView
        override func viewDidLoad() {
        super.viewDidLoad()
        
        imagePicker.delegate = self
        let filename = getDocumentsDirectory().stringByAppendingPathComponent("copy.png")
        if let image = UIImage(contentsOfFile: filename) {
            imageView.contentMode = UIViewContentMode.ScaleAspectFit
            imageView.image = image
        }  
    }
    
    // выбиралка картинок, выбранная - в imageView
    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: AnyObject]) {
        if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
            imageView.contentMode = .ScaleAspectFit
            imageView.image = pickedImage
            
            if let data = UIImageJPEGRepresentation(pickedImage, 0.8) {
                let filename = getDocumentsDirectory().stringByAppendingPathComponent("copy.png")
                data.writeToFile(filename, atomically: true)
            }
        }
        
        dismissViewControllerAnimated(true, completion: nil)
    }
    
    func imagePickerControllerDidCancel(picker: UIImagePickerController) {
        dismissViewControllerAnimated(true, completion: nil)
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2015, 00:35
Привет! Вот еще темы с ответами:

как запомнить данные введенные в текстовом поле - Java
:-[ привет всем... только начела изучать Ява... у меня вопросик возник.. создала окно, меню, при нажатии из списка меню открываю окно с...

Как при обновлении формы сохранить введенные в нее данные - JavaScript
Как при обновлении формы сохранить введенные в нее данные . Буду очень благодарен. <form method=post name="ss"> <input type="text"...

Как сохранить данные введенные в DataGriedView без привязки к источникам данных - Visual Basic .NET
Есть форма на которой расположен DataGriedView, в который в свою очередь заносятся данные из текстбоксов. Как по нажатию кнопки "Назад" в...

Как при обновлении формы сохранить введенные в нее данные через переменные - PHP
Как при обновлении формы сохранить введенные в нее данные через переменные. <form method="POST" > <p class='form1'> Дата от: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
23.10.2015, 00:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru