Я нахожусь в процессе создания приложения, которое будет отображать список акций, которые пользователь сохраняет в tableView. Это также позволит пользователю добавлять или удалять элементы из своих избранных. Мне нужна помощь в определении структуры базы данных и настройке для добавления и постоянного обновления любимых акций пользователя.
В настоящее время у меня есть структура StockData, которая работает с моим tableView, и кнопка для добавления в список пользователей:
struct StockData {
let currentPrice: Double
// meta data
let name: String
let ticker: String
let interval: String
let lastRefreshed: String
let change: Double
}
// In an actual ViewController
@IBAction func addButtonClicked(_ sender: Any) {
print("Add clicked")
// Handle adding the item to the user's list
}
Теперь, что касается моей текущей модели области, у меня есть:
class User: Object {
@objc dynamic var name = ""
@objc dynamic var id = ""
var stockFavs = List<StockItem>()
}
class StockItem: Object {
@objc dynamic var currentPrice: Double = 0.0
// meta data
@objc dynamic var name = ""
@objc dynamic var ticker = ""
@objc dynamic var interval = ""
@objc dynamic var lastRefreshed = ""
@objc dynamic var change: Double = 0.0
}
// Setting up the user and creating test values
let newUser = User()
newUser.name = "John Smith"
newUser.id = "coolId123"
var stockArr = List<StockItem>()
for i in 0..<12 {
let item = StockItem()
item.name = "Microsoft Corporation"
item.change = -3.55
item.currentPrice = 123.45
item.interval = "1day"
item.lastRefreshed = "Now"
item.ticker = "MSFT"
stockArr.append(item)
}
newUser.stockFavs = stockArr
try! realm.write {
realm.add(newUser)
}
До сих пор я был в состоянии создать объект пользователя для текущего пользователя устройства и добавить тестовые значения, но я не уверен, как реализовать постоянное обновление области (метод будет иметь self.tableView.reloadData()
, но кроме этого (Я не в курсе) в сочетании с возможностью добавлять StockItem
в массив пользователя.
Любая помощь будет высоко ценится!