如何在领域中保存字符串数组(Swift)



有人能建议我如何将String数组(来自服务器(保存到Realm以在tableView中显示接收到的数据吗?

// Model
import UIKit
import RealmSwift
class MessageModel: Object, Decodable {
@objc dynamic var result: [String]
}

如何转换数据变量,以便Realm可以使用它。据我所知,Realm不能直接使用String。

// ViewController
import UIKit
import RealmSwift
final class StartController: UIViewController {
var data: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
setUpView()
setUpConstraints()
configData()
}
private func configData() {
service.addMessage(offset: offsetStart) { [weak self] result in
switch result {
case .success(let dataMessage):
self?.data = dataMessage
DispatchQueue.main.async {
self?.messageTable.reloadData()
}
case.failure(let error):
print(error)
DispatchQueue.main.async {
self?.showAlert(title: "Error", message: "Error connecting to the server")
}
}
}
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = messageTable.dequeueReusableCell(withIdentifier: identifier, for: indexPath)
cell.backgroundColor = UIColor(named: "backgroundColor")
let messageList = data[indexPath.row]
var content = cell.defaultContentConfiguration()
content.text = messageList
return cell
}
}

提前非常感谢!

使用List在Realm中保存字符串数组。查看以下帖子了解更多信息Realm与基元类型

最新更新