Commit e967b33a ilCode

处理内存泄露

1 个父辈 76c5c151
......@@ -20,7 +20,8 @@ class HadoopController: BaseController {
btn.titleLabel?.font = kBoldFontSize(16)
btn.setImage(R.image.btn_back_white(), for: .normal)
btn.setImage(R.image.btn_back_black(), for: .selected)
btn.rx.tap.subscribe(onNext: {
btn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}).disposed(by: disposeBag)
return btn
......@@ -105,7 +106,9 @@ extension HadoopController {
provider?.matchList
.asObservable()
.subscribe(onNext: { tmpModels in
.subscribe(onNext: { [weak self] tmpModels in
guard let self = self else { return }
self.matchListView.reloadData()
if tmpModels.isEmpty {
self.matchListView.isHidden = true
......@@ -120,7 +123,8 @@ extension HadoopController {
provider?.predictData
.asObservable()
.subscribe(onNext: { tmpPredictData in
.subscribe(onNext: { [weak self] tmpPredictData in
guard let self = self else { return }
self.header.update(predictData: tmpPredictData)
})
.disposed(by: disposeBag)
......@@ -152,7 +156,8 @@ extension HadoopController: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let groupHeader = tableView.dequeueReusableHeaderFooterView(withIdentifier: MatchFilterHeaderView.reuseIdentifier) as? MatchFilterHeaderView
groupHeader?.setProvider(provider)
groupHeader?.rightBtn.rx.tap.subscribe(onNext: {
groupHeader?.rightBtn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
self.filterView.showInView(self.view)
}).disposed(by: disposeBag)
return groupHeader
......
......@@ -43,7 +43,8 @@ class HadoopHeaderView: UIView {
let color = UIColor.colorWith(hexString: "F7D54D")
btn.setTitleColor(color, for: .normal)
btn.titleLabel?.font = kFontSize(14)
btn.rx.tap.subscribe(onNext: {
btn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
print("马斯克算法...")
}).disposed(by: disposeBag)
btn.corners(radius: 13)
......@@ -102,13 +103,14 @@ class HadoopHeaderView: UIView {
layoutIfNeeded()
self.height = systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height
}
func setProvider(_ provider: HadoopProvider<HadoopTarget>?) {
self.provider = provider
self.provider?.predictTopList
.asObservable()
.subscribe(onNext: { tmpList in
.subscribe(onNext: { [weak self] tmpList in
guard let self = self else { return }
self.preCollectionView.update(topList: tmpList)
})
.disposed(by: disposeBag)
......
......@@ -35,17 +35,19 @@ class HadoopMatchFilterView: UIView {
setupTitleLabel()
setupCollectionView()
setupConfirmButton()
provider?.oriMatchList
.asObservable()
.subscribe(onNext: { tmpMatchList in
.subscribe(onNext: { [weak self] tmpMatchList in
guard let self = self else { return }
self.oriMatchList = tmpMatchList
})
.disposed(by: disposeBag)
provider?.comList
.asObservable()
.subscribe(onNext: { tmpComList in
.subscribe(onNext: { [weak self] tmpComList in
guard let self = self else { return }
self.oriGroupModels = HadoopMatchFilterGroupModel.assembleNewGroupModels(oriGroupModels: self.groupModels, newComModels: tmpComList)
self.groupModels = self.oriGroupModels
self.collectionView.reloadData()
......
......@@ -81,6 +81,8 @@ struct HadoopMatchModel: Mappable {
var awayName: String?
var issueNameJc: String?
var issueNameBd: String?
var homeRank: Int?
var awayRank: Int?
var homeData: SkillModel?
var awayData: SkillModel?
......@@ -94,6 +96,8 @@ struct HadoopMatchModel: Mappable {
awayName <- map["away_name"]
issueNameJc <- map["issue_name_jc"]
issueNameBd <- map["issue_name_bd"]
homeRank <- map["home_rank"]
awayRank <- map["away_rank"]
homeData <- map["home_data"]
awayData <- map["away_data"]
}
......
......@@ -69,17 +69,19 @@ class MatchFilterHeaderView: UITableViewHeaderFooterView {
func setProvider(_ provider: HadoopProvider<HadoopTarget>?) {
self.provider = provider
self.provider?.matchTotalCount
.asObservable()
.subscribe(onNext: { tmpCount in
.subscribe(onNext: { [weak self] tmpCount in
guard let self = self else { return }
self.totalLabel.text = "共\(tmpCount)场比赛"
})
.disposed(by: disposeBag)
self.provider?.matchList
.asObservable()
.subscribe(onNext: { tmpModels in
.subscribe(onNext: { [weak self] tmpModels in
guard let self = self else { return }
self.filterLabel.text = self.provider?.matchTotalCount.value == tmpModels.count ? "" : "(已筛选\(tmpModels.count)场)"
})
.disposed(by: disposeBag)
......
......@@ -15,9 +15,9 @@ class DiscoverController: BaseController {
btn.titleLabel?.font = kFontSize(16)
btn.setImage(R.image.reasearch_icon()?.resize(to: CGSize(width: 40, height: 40)), for: .normal)
btn.adjustImage(position: .top, spacing: 5)
btn.rx.tap.subscribe(onNext: {
let hadoopVC = HadoopController()
self.navigationController?.pushViewController(hadoopVC, animated: true)
btn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
self.navigationController?.pushViewController(HadoopController(), animated: true)
}).disposed(by: disposeBag)
return btn
}()
......
......@@ -14,9 +14,9 @@ class HomeController: BaseController {
private lazy var filterBtn: UIButton = {
let btn = UIButton()
btn.frame = CGRect(x: 0, y: 0, width: 44, height: 44)
btn.rx.tap.subscribe(onNext: {
let leagueVC = LeagueController()
self.navigationController?.pushViewController(leagueVC, animated: true)
btn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
self.navigationController?.pushViewController(LeagueController(), animated: true)
}).disposed(by: disposeBag)
btn.setTitle("筛选", for: .normal)
btn.setTitleColor(kMainTitleColor, for: .normal)
......@@ -26,7 +26,6 @@ class HomeController: BaseController {
isHiddenRelay.asObservable()
.bind(to: btn.rx.isHidden)
.disposed(by: disposeBag)
return btn
}()
......@@ -42,9 +41,11 @@ class HomeController: BaseController {
// .map { !self.filterBtn.isHidden }
// .bind(to: filterBtn.rx.isHidden)
// .disposed(by: disposeBag)
// 方法2:
btn.rx.tap.subscribe(onNext: {
btn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
self.isHiddenRelay.accept(!self.isHiddenRelay.value)
print("点击了设置按钮")
......
......@@ -56,9 +56,10 @@ class ProfileView: UIView {
private lazy var headView: UIView = {
let view = UIView()
view.rx.tapGesture()
.subscribe { _ in
.subscribe(onNext: { [weak self] _ in
guard let self = self else { return }
self.delegate?.tapHeader()
}
})
.disposed(by: disposeBag)
return view
}()
......@@ -68,7 +69,8 @@ class ProfileView: UIView {
btn.setTitle("退出登录", for: .normal)
btn.setTitleColor(kMainTitleColor, for: .normal)
btn.backgroundColor = kWhite
btn.rx.tap.subscribe(onNext: {
btn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
self.delegate?.tapLogout()
}).disposed(by: disposeBag)
btn.corners(radius: 5)
......@@ -101,7 +103,8 @@ class ProfileView: UIView {
UserManager.shared.userModel
.observe(on: MainScheduler.instance)
.subscribe(onNext: { [weak self] userModel in
self?.updateView(userModel: userModel)
guard let self = self else { return }
self.updateView(userModel: userModel)
})
.disposed(by: disposeBag)
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!