- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题是我的分段控件不会将信息传递给我的 tableView 中的 cellForRowAtIndexPath 方法。当选择每个选项卡时,我希望我的 TableView 显示不同的数据。
这是我认为问题根源的代码片段:
var parsedDataForTableView : ParseForDetailView? {
didSet {
self.selectedIndex = (parsedDataForTableView?.tabSelected)!
self.tableView.rowHeight = (parsedDataForTableView?.tableViewRowHeight)!
self.tableView.reloadData()
}
}
var selectedIndex = Int()
override func viewDidLoad() {
super.viewDidLoad()
self.parsedDataForTableView = ParseForDetailView(segmentedTabSelected: 0, primaryBarData: self.primaryBarDetails!, secondaryBarData: self.secondaryBarDetails!)
configureView()
configureNavigationBarItems()
setImageShadow()
}
@IBAction func switchBetweenTabs(sender: AnyObject) {
if segmentControl.selectedSegmentIndex == 0 {
print("Drinks Selected")
self.selectedIndex = 0
print(self.selectedIndex)
self.parsedDataForTableView = ParseForDetailView(segmentedTabSelected: 0, primaryBarData: self.primaryBarDetails!, secondaryBarData: self.secondaryBarDetails!)
self.tableView.reloadData()
}
if segmentControl.selectedSegmentIndex == 1 {
print("Entertainment Selected")
self.selectedIndex = 1
print(self.selectedIndex)
self.parsedDataForTableView = ParseForDetailView(segmentedTabSelected: 1, primaryBarData: self.primaryBarDetails!, secondaryBarData: self.secondaryBarDetails!)
self.tableView.reloadData()
}
if segmentControl.selectedSegmentIndex == 2 {
print("Info Selected")
self.selectedIndex = 2
print(self.selectedIndex)
self.parsedDataForTableView = ParseForDetailView(segmentedTabSelected: 2, primaryBarData: self.primaryBarDetails!, secondaryBarData: self.secondaryBarDetails!)
self.tableView.reloadData()
}
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("detailViewCell") as! DetailViewCell
print(self.selectedIndex)
if self.selectedIndex == 0 {
cell.drinkLabel.text = self.parsedDataForTableView?.drinksArray[indexPath.section][indexPath.row]
cell.priceLabel.text = self.parsedDataForTableView?.priceArray[indexPath.section][indexPath.row]
cell.entertainmentLabel.text = ""
} else if self.selectedIndex == 1 {
cell.entertainmentLabel.text = self.parsedDataForTableView?.entertainmentString
cell.drinkLabel.text = ""
cell.priceLabel.text = ""
} else if self.selectedIndex == 2 {
// finish this...
cell.drinkLabel.text = "Info"
cell.priceLabel.text = "Info"
cell.entertainmentLabel.text = "Info"
}
return cell
}
因此,上面我们将 IBAction 连接到分段选项卡和 cellForRowAtIndexPath 方法。我想将 selectedIndex 属性传递到 cellForRowAtIndexPath 方法中,以在我想要显示的不同数据之间切换 - 在我的 didSet 顶部初始化。
当我运行代码时, View 加载得很好,第一个段的信息(第 0 个段索引)显示正确,并且我的 cellForRowAtIndexPath 中的 print(self.selectedIndex) 为按计划打印的每个单元格打印“0”。当我点击第二个和第三个分段索引时,相同的打印函数不打印任何内容。
当我将 IBAction 中的信息打印到控制台时,一切都正确更新。
为什么只有我的第一个索引使用 cellForRowAtIndexPath 方法注册?
最佳答案
我可能误导了您,让您相信我的问题出在我的逻辑中。我的问题是,在 numberOfRowsInSection 中,我没有考虑所有三个分段选项卡的情况,因此我的数据无法在 TableView 中正确显示。
谢谢@NoName
关于xcode - 分段选项卡 IBAction 不会传递给 cellForRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35416294/
代码应按如下方式工作:在一个 View 上,我单击标签按钮,并且 tagButtonPressed IBAction 应将 tag 变量设置为 sender.tag 的标签按钮。效果很好。然后用户应该
我有一个暂停 IBAction 和一个恢复 IBAction,两者都用于按钮,但我有在游戏过程中收集的游戏点数。我如何在暂停 IBAction 中存储不同的游戏点整数值并将它们传递给恢复 IBActi
我想知道如何从另一个 IBAction 调用 IBAction。我想要做的是,当我触摸 previousPage 上的按钮时,nextPage 按钮的标题会发生变化。换句话说,我有这些IBAction
我得到了这个随机洗牌的 IBAction @IBAction func playRoundTapped(sender: UIButton) { cardNamesArray = GKRando
根据我的标题,我正在构建一个包含一些 UIButtons 的 View 。 我正在考虑将 2 个 Action 连接到一个 UIButton 事件,因为该按钮需要做两件事,但我需要按特定顺序执行它们。
我刚刚注意到在其 IBAction 中设置 UISwitch 的 isOn 会导致再次调用 IBAction。所以下面的代码: class ViewController: UIViewControll
我在一个应用程序上工作,我想使用另一个 UIControllerView 调用一个 UIControllerView 的 IBAction,请帮助我如何实现它。 假设,我有两个名为 FirstView
当我将按钮链接到源代码(在本例中为 .h 文件)并选择 NSButton 作为类型时,Xcode 将写入: - (IBAction)pushClear:(id)sender; 据我了解应该是 - (I
我如何能够根据另一个事件运行 IBAction?例如,我可以使用一段代码来运行 IBAction。 我想做的是让两个不同的按钮运行一个或多个 IBActions。 最佳答案 您可以将多个按钮连接到同一
好吧,我正在 Xcode(版本 3)中为 Mac OS X 编写一个应用程序,但我的 IBactions 遇到了问题。我编写它们,并将它们连接到我的按钮,但由于某种原因,当我单击按钮时它们永远不会被调
+(UIBarButtonItem*) settingsButtonForController:(UIViewController*) viewController{ UIBarButtonI
我对 Xcode 和编码都很陌生,所以请耐心等待,哈哈。我正在为一个科学博览会项目开发我的第一个应用程序,该应用程序基于选项卡,有两个主页。一页包含多个开关;无论哪个开关打开,都决定其他页面上的大按钮
我正在尝试将多个按钮链接到相同的IBAction,以运行类似但不同的代码。代码是将在另一个 View Controller 上单击的图像设置到按钮下的 UIImageView 中。所有按钮都链接到相同
我需要控制用户何时在搜索栏中键入内容。使用文本字段很容易,但我找不到使用搜索栏执行此操作的方法,因为我无法使用 IBActions。 最佳答案 UISearchBar 有属性 id delegate
我正在尝试为 iPhone 创建一个应用程序,我有一个主视图 Controller 和许多其他 View Controller 。这是因为它是一个多 View 应用程序。 在 ViewControll
我有一个 IBAction: - (IBAction)stop:(id)sender { NSLog(@"Called"); if (timer) { [timer i
嗨,我正在尝试通过单击按钮打开图像,在我的 .h 我有 @interface FirstDetailViewController : UIViewController { IBOutlet U
我正在创建一个新类 - 继承自 UITextView 的 UIMyTextView。 我希望此类发送新类型的事件,然后我将使用 IBuilder 将其连接到适当的 IBAction。 怎么做? 最佳答
我正在学习 CS193p Stanford iOS 类(class),并且即将完成作业 3 - 在该作业中,我还将图形计算器转换为适用于 iPad 的通用应用程序。当在计算器中输入程序(例如“x +
我有一个 IBAction,由 UIButton 触发。 在此 IBAction 中,我将应用程序连接到服务器,返回一个 Plist。 在此期间(在我的应用程序连接到服务器和服务器返回该 Plist
我是一名优秀的程序员,十分优秀!