我愿意使用RxSwift在模型值和视图控制器之间进行MVVM绑定.我想按照这个realm.io教程,但从那时起绑定显然已经改变,示例代码不能编译.这是示例代码,我认为我已经修复了最糟糕的拼写错误/丢失的东西:
LoginViewModel.swift
import RxSwift
struct LoginViewModel {
var username = Variable<String>("")
var password = Variable<String>("")
var isValid : Observable<Bool>{
return Observable.combineLatest(self.username.asObservable(), self.password.asObservable())
{ (username, password) in
return username.characters.count > 0
&& password.characters.count > 0
}
}
}
Run Code Online (Sandbox Code Playgroud)
LoginViewController.swift
import RxSwift
import RxCocoa
import UIKit
class LoginViewController: UIViewController {
var usernameTextField: UITextField!
var passwordTextField: UITextField!
var confirmButton: UIButton!
var viewModel = LoginViewModel()
var disposeBag = DisposeBag()
override func viewDidLoad() {
usernameTextField.rx.text.bindTo(viewModel.username).addTo(disposeBag)
passwordTextField.rx.text.bindTo(viewModel.password).addTo(disposeBag)
//from the viewModel
viewModel.rx.isValid.map { $0 } …Run Code Online (Sandbox Code Playgroud) 我正在将sequelize与sequelize-typescript库一起使用,并试图实现以下关系:
团队.ts
@Scopes({
withPlayers: {
include: [{model: () => User}]
}
})
@Table
export default class Team extends Model<Team> {
@AllowNull(false)
@Column
name: string;
@BelongsToMany(() => User, () => TeamPlayer)
players: User[];
}
Run Code Online (Sandbox Code Playgroud)
用户.ts
@Scopes({
withTeams: {
include: [{model: () => Team, include: [ () => User ]}]
}
})
@Table
export default class User extends Model<User> {
@AllowNull(false)
@Column
firstName: string;
@AllowNull(false)
@Column
lastName: string;
@BelongsToMany(() => Team, () => TeamPlayer)
teams: Team[];
}
Run Code Online (Sandbox Code Playgroud)
TeamPlayer.ts
@DefaultScope({
include: …Run Code Online (Sandbox Code Playgroud) ios ×1
many-to-many ×1
mvvm ×1
postgresql ×1
rx-swift ×1
sequelize.js ×1
swift ×1
typescript ×1