当选择表格单元格时,如果布尔值为true,则尝试进入视图控制器,否则(如果为false),则继续执行其他视图控制器。任何帮助都会很棒! (布尔值为isAdmin,如果为true,则继续执行eventViewController,否则继续执行UserEventTableViewController)
链接到项目: https://www.dropbox.com/s/1d4d8opuxzpcuk4/TicketekApp.zip?dl=0
代码:
server.addEventListener("message", clientData.class, new DataListener<clientData>() {
@Override
public void onData(SocketIOClient client, clientData data, AckRequest ackRequest) throws Exception {
System.out.println("Message from client: " + data.getMessage());
}
});
public class clientData{
String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
答案 0 :(得分:0)
我相信您可以使用UITableViewDelegate协议中的tableView:didSelectRowAtIndexPath:
来完成您的目标。
将其添加到视图控制器
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
并在该函数中处理您的逻辑。
当您准备好转到下一个视图控制器时,请使用
performSegueWithIdentifier(identifier: String, sender: AnyObject?)
以下是一个例子:
if isAdmin {
performSegueWithIdentifier(identifier: "segueToAdminView", sender: self)
} else {
performSegueWithIdentifier(identifier: "segueToUserEventView", sender: self)
}
答案 1 :(得分:0)
您必须实现tableView委托方法didSelectRowAtIndexPath
。
示例如下:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let index = self.tableView.indexPathForSelectedRow?.row
//use the index to know which cell you selected
//check for your condition here something like
if isAdmin {
performSegueWithIdentifier("eventViewControllerSegue", sender: self)
} else {
performSegueWithIdentifier("userEventTableViewControllerSegue", sender: self)
}
}
请注意以下事项: