我只是使用Realm测试一些配置,因此我在我的领域类中添加和删除了变量和列表.由于我只是在测试,我不想经历迁移过程 - 我也没有任何影响连续性的数据.
有没有办法绕过Realm自动请求的迁移?
我正在使用swift 6.3并且有两个类似的错误
Cannot invoke 'findObjectsInBackgroundWithBlock' with an argument list of type '(([AnyObject]!, NSError!) -> Void)'
Cannot invoke 'getDataInBackgroundWithBlock' with an argument list of type '((NSData!, NSError!) -> Void)'
有什么想法吗?
import Parse
import UIKit
class UserVC: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet var resultTable: UITableView!
var resultNameArray = [String]()
var resultUserNameArray = [String]()
var resultUserImageFiles = [PFFile]()
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func viewDidAppear(animated: Bool) {
resultNameArray.removeAll(keepCapacity: false)
resultUserNameArray.removeAll(keepCapacity: false)
resultUserImageFiles.removeAll(keepCapacity: false)
var query …
Run Code Online (Sandbox Code Playgroud) 我正在尝试浏览数据并将其保存在我的模型中,但无论我做什么,我都会遇到以下错误:Can't mutate a persisted array outside of a write transaction.
.我究竟做错了什么?我将每场比赛追加到联赛,但似乎不起作用?
领域模型
class League: Object {
dynamic var id: Int = 0
dynamic var name: String? = ""
var matches = List<Match>()
override class func primaryKey() -> String {
return "id"
}
}
class Match: Object {
dynamic var matchId: Int = 0
dynamic var date: NSDate?
dynamic var homeName: String? = ""
dynamic var awayName: String? = ""
dynamic var awayScore: Int = 0
dynamic var homeScore: Int …
Run Code Online (Sandbox Code Playgroud) 我使用带有Realm结果的UITableView作为它的数据源.结果使用领域通知进行注册,并在发生更改时更新.但是,同一个表视图有一个搜索栏,可根据用户搜索查询过滤结果.这也可以正常工作,但如果通知侦听器识别出更新,则节和行计数不匹配.这样做的正确方法是什么?是否可以更新NotificationToken?
这是初始化通知令牌的代码:
let realm = try! Realm()
results = realm.objects(Person.self).filter("active = '1'").sorted(byProperty: "name", ascending: true)
// Observe Results Notifications
notificationToken = results?.addNotificationBlock { [weak self] (changes: RealmCollectionChange) in
guard let tableView = self?.tableView else { return }
switch changes {
case .initial:
// Results are now populated and can be accessed without blocking the UI
tableView.reloadData()
break
case .update(_, let deletions, let insertions, let modifications):
// Query results have changed, so apply them to the UITableView
tableView.beginUpdates()
tableView.insertRows(at: insertions.map { …
Run Code Online (Sandbox Code Playgroud)