调用中的参数标签不正确(具有"named:",预期的"systemName:")



我想通过搜索显示集合视图的内容。但是,绑定集合视图时会出现许多错误。我认为模型代码首先变得很奇怪,它在哪里奇怪?我们如何修复这个错误?

output.loadData.map(CollectionOfOne.init).bind(to: collectionView.rx.items) { (row,collectionView, element) -> UICollectionViewCell in
let indexPath = IndexPath(index: 1)
guard let cell = self.collectionView.dequeueReusableCell(withReuseIdentifier: "friendCell", for: indexPath) as? FriendCell else {
return FriendCell()
}
cell.profileImage?.image = UIImage(systemName: element.image)
cell.nickNameLbl?.text = element.nickname
cell.listenBtn?.rx.tap.subscribe(onNext: {[unowned self] in
selectIndexPath.accept(row)
}).disposed(by: cell.disposeBag)

return cell
}
output.searchNameResult.map(CollectionOfOne.init).bind(to: collectionView.rx.items) { collectionView, index, element -> UICollectionViewCell in
let indexPath = IndexPath(index: 0)
guard let cell = self.collectionView.dequeueReusableCell(withReuseIdentifier: "freindCell", for: indexPath) as? FriendCell else {
return FriendCell()
}
//   cell.profileImage?.image = UIImage(systemName: (element as AnyObject).image)
cell.profileImage?.image = UIImage(named: element.img)
cell.nickNameLbl?.text = (element.nickname)

return cell
}

这是视图控制器代码

struct input {
let loadData: Signal<Void>
let searchName: Driver<Void>
let searchHashTag: Driver<Void>
}
struct output {
let loadData: BehaviorRelay<[User]>
let searchNameResult: PublishRelay<users>
}
func transform(_ input: input) -> output {
let api = SearchAPI()
let loadData = BehaviorRelay<[User]>(value: [])
let searchName = PublishRelay<users>()
input.loadData.asObservable().subscribe(onNext: { [weak self]  in
guard let self = self else { return }
api.getFriend().subscribe(onNext: { (response, statuscode) in
switch statuscode {
case .ok:
//       loadData.accept(response!, User)
result.onCompleted()
default:
result.onNext("default")
}
}).disposed(by: self.disposeBag)
}).disposed(by: disposeBag)

input.searchName.asObservable().withLatestFrom(input.name).subscribe(onNext: {[weak self] nickname in
guard let self = self else { return }
api.getUserList(nickname).subscribe(onNext: { (response,statuscode) in
switch statuscode {
case .ok:
result.onCompleted()
case .noHere:
result.onNext("no user")
default:
result.onNext("default")
}
}).disposed(by: self.disposeBag)
}).disposed(by: disposeBag)

这是我的视图模型。问题出在哪里?

由于另一个错误Value of type 'users' has no member 'img',您得到了错误Incorrect argument label in call (have 'named:', expected 'systemName:')

我预计你并不是真的想显示一个单元格,但代码通常太混乱了,很难准确地说出你想做什么。我建议你找一位导师,教你类型,或者在制作真正的程序之前,可以使用Swift Playgrounds应用程序学习如何编码的基本知识。

相关内容

最新更新