如何在我的UITableViewController中解决此问题

问题描述 投票:0回答:1

该项目没有API请求,我不得不从头开始输入所有内容。我有这些错误,因为使用MVC模式创建了带有相应数据的模型。当我尝试将所有内容链接在一起时,就会出现问题。我已将警报添加到与此符号(|!| ...)相关的每一行。

对不起,法语:))


这是我的模型文件:


导入基金会导入UIKit

struct FruitBasket { let basketName:字符串 let basketText:字符串 让basketImage:UIImage?

init(basketName: String, basketText: String, basketImage: UIImage?) {
    self.basketName = basketName
    self.basketText = basketText
    self.basketImage = basketImage
}

}


导入基金会导入UIKit

struct FruitBasketDetails {

let basket = [FruitBasket(basketName: "Panier Automne", basketText: """

LA CORBEILLE DE FRUITS D'AUTOMNE:UN PANIER POUR LARENTRÉE

La corbeille de fruits d’automne  est idéale pour la rentrée ! Nous avons choisis pour vous des fruits au coeur de la saison pour vous  faire profiter des meilleurs apports en vitamines et minéraux avec une riche composition de fruits !
Les larges variétés de pommes, de poires et de prunes vous permettront de dynamiser votre organisme pour une rentrée en pleine forme et  faire face aux premiers froids. Les premiers agrumes comme les oranges et les clémentines  vous apporteront, eux, toute la vitamine C nécessaire.
Quant aux raisins, qu’ils soient noirs, verts ou lie-de vin, leurs bienfaits ne sont pus à démontrer ! Riche en antioxydants et polyphénols, ils sont aussi des alliés « détox » appréciés.

…Et que diriez vous d’une petite banane pour la pause de milieu de matinée ?!

“”“,basketImage:UIImage(named:” automne“)),FruitBasket(basketName:” Hiver“,basketText:”“”La CORBEILLE DE FRUITS D’HIVER:UN PANIERACIDULÉ!

Dan la corbeille de fruit d'hiver,variestésd'agrumes sesuccèdenten Cascade et aide votre organicàrester en forme!猕猴桃和荔枝等五种变种,波瓦尔和巴南的变种。拯救大企业的伙伴们!“”“,basketImage:UIImage(named:” panier-hiver“)),FruitBasket(basketName:” Printemps“,basketText:”“”LA CORBEILLE DE FRUITS DE PRINTEMPS:UN PANIERPARFUMÉ!

[橘子]和[橘子]水果或水果的混合水果或蔬菜。丰富的维生素和维生素可以使人的面部和肤色变得更健康。香精香料,酸橙和酸的高级香精油和水份的持久性Vousapprécierezfaire une stopfraîcheurentre deux dossiers aussigrâceaux poires et aux bananes qui confectionnent cettegénéreusecorbeille de fruit de printemps!“”“,basketImage:UIImage(named:” panier-ete“)),FruitBasket(basketName:” ETE“,basketText:”“”LA CORBEILLE DE FRUITS D'ÉTÉ:联合国潘尼尔小屋恩库尔!!

[Dan la corbeille de fruit d'étévous retrouverez derafraîchissantespêcheset nectarines et des abricots facilàcroquer。小水果抗氧化剂常在fraises和les cerises上出现,有利于deurutes leurs saveurs…。 àpoins que vous nepréféreriezune pommerafraîchissanteou une bananeénergisante!利润丰厚的水果兴奋剂,以及在环境和环境中的作用!“”“,basketImage:UIImage(named:” panier-ete“))]}


这是我的控制器


类BasketTableVC:UITableViewController {

var basket = FruitBasketDetails()

override func viewDidLoad() {
    super.viewDidLoad()

    title = "Baskets"
    navigationController?.navigationBar.prefersLargeTitles = true
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return basket.count ***(|!| Value of type 'FruitBasketDetails' has no member 'count')***
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Baskets", for: indexPath)
    cell.textLabel?.text = basket[indexPath.row] ***(|!| Value of type 'FruitBasketDetails' has no subscripts)***
    return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selectedRowName = basket[indexPath.row] ***(|!| Value of type 'FruitBasketDetails' has no subscripts)***
let selectedRowText = basket[indexPath.row] ***(|!|Value of type 'FruitBasketDetails' has no subscripts)***
let selectedImage = basket[indexPath.row] ***(|!| Value of type 'FruitBasketDetails' has no subscripts)***

let basketInfoVC = self.storyboard?.instantiateViewController(identifier: "BasketDetailsView") as! FruitDisplayVC
basketInfoVC.name = selectedRowName
basketInfoVC.text = selectedRowText
basketInfoVC.image = selectedImage

self.navigationController?.pushViewController(basketInfoVC, animated: true)

}

}

谢谢您的帮助

保重并保持安全

uitableview model-view-controller model controller viewcontroller
1个回答
0
投票

您没有使用basketFruitBasket数据类型。

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return basket.basket.count 
}

还有这个

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let innerBasketData = basket.basket
let selectedRowName = innerBasketData[indexPath.row]. basketName 
let selectedRowText = innerBasketData[indexPath.row]. basketText
let selectedImage = innerBasketData[indexPath.row]. basketImage

let basketInfoVC = self.storyboard?.instantiateViewController(identifier: "BasketDetailsView") as! FruitDisplayVC
basketInfoVC.name = selectedRowName
basketInfoVC.text = selectedRowText
basketInfoVC.image = selectedImage

self.navigationController?.pushViewController(basketInfoVC, animated: true)

}
© www.soinside.com 2019 - 2024. All rights reserved.