我正在创建一个允许用户每天看到随机引用的应用。在此应用程序中,在能够实际使用该应用程序之前,系统会向用户询问3个问题。最后一个问题是简单的"你最喜欢的类别/主题是什么"。使用此提示,用户将点击一个单元格并将其带到第一个" Child"视图控制器就是报价本身。
问题: 我希望用户能够点击UITableViewCell,并点击他们带来的TabBarController效果。
这是我到目前为止遇到的错误的照片。这是代码。
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是: " bookSegue" " businessSegue"
标签栏是: " bookQuoteTabBar"和" businessQuoteTabBar"
第一个"孩子"视图控制器是: " 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.
}
BusinessQuoteScreen:
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!
...
}
答案 0 :(得分:0)
屏幕截图中的错误("使用未声明的类型......")表示Xcode无法将bookQuoteScreen
和businessQuoteScreen
识别为有效的类型< / em>的。在突出显示的行中,例如
let bookQuoteScreen = bookQuoteTabBar.viewControllers?[0] as? bookQuoteScreen
类型(在&#34之后指定;作为?&#34;)必须与.swift文件中定义的类名匹配。仔细检查所使用的名称是否符合&#34; BusinessQuoteScreen.swift&#34;中定义的类名(可能)。和#34; BooksQuoteScreen.swift&#34;。没有看到这些文件的内容,我无法确定,但我怀疑主角必须是大写(它应该是类名),你可能需要一个&#34; s&#34;在 &#34;图书<强>取值强> QuoteScreen&#34;:
let bookQuoteScreen = bookQuoteTabBar.viewControllers?[0] as? BooksQuoteScreen
和
let businessQuoteScreen = businessQuoteTabBar.viewControllers?[0] as? BusinessQuoteScreen