我有一个UITableView,它使用基于JSON调用的数据填充单元格。像这样:
var items = ["Loading..."]
var indexValue = 0
// Here is SwiftyJSON code //
for (index, item) in enumerate(json) {
var indvItem = json[index]["Brand"]["Name"].stringValue
self.items.insert(indvItem, atIndex: indexValue)
indexValue++
}
self.tableView.reloadData()
如何在选定单元格时获取其标签,然后将其传递给另一个ViewController?
我设法得到:
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("You selected cell #\(indexPath.row)!")
// Get Cell Label
let indexPath = tableView.indexPathForSelectedRow();
let currentCell = tableView.cellForRowAtIndexPath(indexPath!) as UITableViewCell!;
println(currentCell.textLabel.text)
}
我只是想不出如何将其作为变量传递给下一个UIViewController。
谢谢
在两个视图控制器之间传递数据取决于视图控制器如何彼此链接。如果它们与segue链接,则需要使用performSegueWithIdentifier方法并覆盖prepareForSegue方法
var valueToPass:String!
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("You selected cell #\(indexPath.row)!")
// Get Cell Label
let indexPath = tableView.indexPathForSelectedRow();
let currentCell = tableView.cellForRowAtIndexPath(indexPath!) as UITableViewCell!;
valueToPass = currentCell.textLabel.text
performSegueWithIdentifier("yourSegueIdentifer", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "yourSegueIdentifer") {
// initialize new view controller and cast it as your view controller
var viewController = segue.destinationViewController as AnotherViewController
// your new view controller should have property that will store passed value
viewController.passedValue = valueToPass
}
}
如果您的视图控制器未与segue链接,则可以直接从tableView函数传递值
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
println("You selected cell #\(indexPath.row)!")
// Get Cell Label
let indexPath = tableView.indexPathForSelectedRow();
let currentCell = tableView.cellForRowAtIndexPath(indexPath!) as UITableViewCell!;
let storyboard = UIStoryboard(name: "YourStoryBoardFileName", bundle: nil)
var viewController = storyboard.instantiateViewControllerWithIdentifier("viewControllerIdentifer") as AnotherViewController
viewController.passedValue = currentCell.textLabel.text
self.presentViewController(viewContoller, animated: true , completion: nil)
}
问题内容: 上面的Javascript写在jinja2模板中。它应该将javascript变量(即var名称)值传递给宏中的python函数。我知道上面的代码无法解决我的目的,因为我没有正确将javascript变量值传递给宏。是否有人在jinja2模板中将javascript变量传递给宏的方法? 问题答案: 您不能以这种方式将值从javascript传递到模板,因为模板将在响应返回到浏览器之前呈
问题内容: 这是我的问题: 当我用JavaScript编写此代码时 // 好: 但是,当我尝试在属性标签中动态设置该值时,没有任何执行。 // 不好: 有人可以帮我吗? 问题答案: Struts标签,例如JSTL,EL等,是在服务器端执行的。执行完所有这些步骤后,仅HTML的最终页面将呈现给客户端。只有这样,JavaScript才能在页面上运行。 您不能混合使用javascript和Struts标
问题内容: 这是我的问题: 当我用JavaScript编写此代码时 // 好: 但是,当我尝试在属性标签中动态设置该值时,没有任何执行。 // 不好: 有人可以帮我吗? 问题答案: Struts标签,例如JSTL,EL等,是在服务器端执行的。执行完所有这些步骤后,仅HTML的最终页面将呈现给客户端。只有这样,JavaScript才能在页面上运行。 您不能混合使用javascript和Struts标
mainactivity.java MyWebPage.java
问题内容: 我正在以编程方式将UITapGestureRecognizer添加到我的视图之一: 我遇到的第一个问题是“’#selector’的参数未引用’@Objc’方法,属性或初始化程序。 很酷,所以我在handleTap签名中添加了@objc: 现在,我收到错误消息“无法将方法标记为@objc,因为无法在Objective-C中表示参数的类型。 它只是建筑物地图的图像,其中一些图钉图像指示了兴
问题内容: 可能这实际上是当前不可能的,这很不幸。我正在尝试调用CoreMIDI API来设置MIDI输入。这就是我要在Swift中执行的操作: 但我收到此错误:“((UnsafePointer,UnsafeMutablePointer,UnsafeMutablePointer)->无效”无法转换为“ MIDIReadProc” MIDIReadProc的typedef如下: 有没有一种方法可以让