Установка и настройка SQLLite для iOS:
1. Шагом первым, необходимо установить SQLite библиотеку для iOS. Вам понадобится установить Cocoapods, если вы еще этого не сделали. Откройте Terminal и выполните следующую команду:
sudo gem install cocoapods
2. Создайте новый проект в Xcode и перейдите в директорию вашего проекта в Terminal. Инициализируйте Cocoapods:
pod init
3. Откройте файл Podfile в вашем редакторе и добавьте следующую строчку:
pod 'SQLite.swift', '~> 0.12.0'
4. Сохраните и закройте файл Podfile, а затем выполните команду:
pod install
Это загрузит и установит SQLite библиотеку в ваш проект.
Создание базы данных и таблицы:
1. Создайте новый Swift файл с именем DatabaseManager.swift и добавьте следующий код:
import SQLite class DatabaseManager { static let sharedInstance = DatabaseManager() var database: Connection? private init() { do { let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first! database = try Connection("(path)/database.sqlite3") } catch { print("Error connecting to database: (error)") } } func createTable() { do { try database?.run(TableDefinition()) } catch { print("Error creating table: (error)") } } func insertData(data: String) { let insertData = Table("Data") let text = Expression<String>("text") do { try database?.run(insertData.insert(text <- data)) } catch { print("Error inserting data: (error)") } } func fetchData() -> [String]? { var dataArray = [String]() let fetchData = Table("Data") let text = Expression<String>("text") do { for data in try database!.prepare(fetchData) { dataArray.append(data[text]) } } catch { print("Error fetching data: (error)") } return dataArray.count > 0 ? dataArray : nil } } struct TableDefinition: TableCreation { let tableName = "Data" let text = Expression<String>("text") func createTable(in db: Connection) throws { try db.run(table.create { table in table.column(text) }) } }
2. В вашем AppDelegate.swift добавьте следующий код для создания таблицы при запуске приложения:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { DatabaseManager.sharedInstance.createTable() return true }
Использование TextField, Button и SQLLite:
1. Создайте новый View Controller и разместите на нем TextField для ввода данных и Button для сохранения их в базу данных.
2. Создайте outlet и action для TextField и Button в вашем View Controller.
3. В методе action для Button добавьте следующий код, чтобы сохранить данные из TextField в базу данных:
@IBAction func saveButtonTapped(_ sender: UIButton) { if let data = textField.text { DatabaseManager.sharedInstance.insertData(data: data) textField.text = "" } }
4. Опционально, вы можете создать отдельный метод для обновления UI со списком сохраненных данных из базы данных:
func updateUI() { if let data = DatabaseManager.sharedInstance.fetchData() { // Обновление UI с использованием массива сохраненных данных } else { // Обновление UI, если нет сохраненных данных } }
Вызывайте этот метод после сохранения данных и при загрузке View Controller.
Ваш TextField будет связан с SQLLite базой данных через созданный DatabaseManager и методы insertData и fetchData.