gpt4 book ai didi

ios - 从 UITableView 转到 UITabBarController

转载 作者:行者123 更新时间:2023-11-28 08:38:18 25 4
gpt4 key购买 nike

我正在创建一个允许用户每天随机查看报价的应用程序。在此应用程序中,用户在能够实际使用该应用程序之前会被询问 3 个问题。最后一个问题是一个简单的“你最喜欢的类别/主题是什么”。有了这个提示,用户将点击一个单元格并被带到一个选项卡栏 Controller ,第一个“子” View Controller 就是引用本身。

问题:我希望用户能够点击一个 UITableViewCell,他们点击的那个会影响他们被带到哪个 TabBarController。

enter image description here

这是我目前遇到的错误照片。这是代码。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {


if(segue.identifier == "bookSegue")
{
let bookQuoteTabBar = segue.destinationViewController as! UITabBarController

let bookQuoteScreen = bookQuoteTabBar.viewControllers?[0] as? bookQuoteScreen


}

else if(segue.identifier == "businessSegue") {

let businessQuoteTabBar: UITabBarController = segue.destinationViewController as! UITabBarController
let businessQuoteScreen = businessQuoteTabBar.viewControllers?[0] as? businessQuoteScreen
}




}

最终,会有更多的话题,意味着更多的转折点。但现在,我从两个开始

每个 TabBarController 的 segues 是:“书序”“业务继续”

标签栏是:“bookQuoteTabBar”和“businessQuoteTabBar”

第一个“子” View Controller 是:“bookQuoteScreen”“businessQuoteScreen”

我应该写点别的吗?我是否正确命名了每个对象的 Segues、身份和类?如果您需要更多信息或引用资料,请评论我应该添加的内容,我会在几分钟内添加。提前致谢!

--------最近的编辑------------

BooksQuoteScreen:

import Foundation
import UIKit

class BooksQuoteScreen: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

商业报价屏幕:

import Foundation
import UIKit
import Social

class BusinessQuoteScreen: UIViewController {

//============================//
//********** Outlets *********//
//============================//

let utility = Utility()
@IBOutlet weak var quoteDisplay: UILabel!
@IBOutlet weak var authorDisplay: UILabel!
@IBOutlet weak var quoteBackground: UIImageView!
...
}

enter image description here

最佳答案

屏幕截图中的错误(“使用未声明的类型....”)表明 Xcode 无法将 bookQuoteScreenbusinessQuoteScreen 识别为有效的类型。在突出显示的行中,例如。

let bookQuoteScreen = bookQuoteTabBar.viewControllers?[0] as? bookQuoteScreen

类型(在“as?”之后指定)必须与 .swift 文件中定义的类名相匹配。非常仔细地检查使用的名称是否与“BusinessQuoteScreen.swift”和“BooksQuoteScreen.swift”中定义的类名称(大概)相匹配。没有看到这些文件的内容,我不能确定,但​​我怀疑前导字符需要大写(它应该用于类名),你可能需要一个“s”"BooksQuoteScreen":

let bookQuoteScreen = bookQuoteTabBar.viewControllers?[0] as? BooksQuoteScreen

let businessQuoteScreen = businessQuoteTabBar.viewControllers?[0] as? BusinessQuoteScreen

关于ios - 从 UITableView 转到 UITabBarController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37082738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com