Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将大量代码放入AlertController块(Swift)_Swift_Parse Platform_Uialertcontroller - Fatal编程技术网

如何将大量代码放入AlertController块(Swift)

如何将大量代码放入AlertController块(Swift),swift,parse-platform,uialertcontroller,Swift,Parse Platform,Uialertcontroller,在我的集合视图单元格中,我有一个按钮,可以成功地将当前用户PFUser保存到每个事件的用户数组中,这些事件是索引路径上的对象 但是,我想添加一个警报视图,但未能将大量代码放入警报操作块中。我想我可以创建另一种方法,但我觉得有一种更简单的方法 当我试着把它放进去时,A.括号的数量让我有点不舒服,B.它不再识别方法底部的alertController 谢谢你一如既往的帮助 func buttonTapped(sender: AnyObject) { let button = sender

在我的集合视图单元格中,我有一个按钮,可以成功地将当前用户PFUser保存到每个事件的用户数组中,这些事件是索引路径上的对象

但是,我想添加一个警报视图,但未能将大量代码放入警报操作块中。我想我可以创建另一种方法,但我觉得有一种更简单的方法

当我试着把它放进去时,A.括号的数量让我有点不舒服,B.它不再识别方法底部的alertController

谢谢你一如既往的帮助

func buttonTapped(sender: AnyObject) {

    let button = sender as! UIButton
    let view = button.superview
    let cell = view?.superview as! EventCell
    let indexPath = collectionView.indexPathForCell(cell)

//        print(indexPath)

    if let indexPath = indexPath {
        if let event = events?[indexPath.row] {

            //pops alert vc

            var alertController : UIAlertController = UIAlertController(title: event.eventTitle, message: nil, preferredStyle: UIAlertControllerStyle.Alert)

            let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)

            alertController.addAction(cancelAction)

            let saveUserToEvent = UIAlertAction(title: "Yes", style: .Default) { _ in



                // WHAT TO DO HERE? I want to add the stuff below


            }

            alertController.addAction(saveUserToEvent)

            var attendees = [String]()
            if let attendeesTmp = event["attendees"] as?[String] {
                attendees = attendeesTmp;
            }
            if let objId = PFUser.currentUser()?.objectId {
                var found = false
                for objIdd in attendees {
                    if objIdd == objId {
                        found = true
                        break;
                    }
                }
                if !found {
                    attendees.append(objId)
                    event["attendees"] = attendees;
                    event.saveInBackground()
                }
            }

            if let user = PFUser.currentUser() {
                var eventsAttending = [String]()
                if let eventsAttendingTmp = user["eventsToAttend"] as?[String] {
                    eventsAttending = eventsAttendingTmp;
                }
                if let eventId = event.objectId {
                    var found = false
                    for eventIdd in eventsAttending {
                        if eventIdd == eventId {
                            found = true
                            break;
                        }
                    }
                    if !found {
                    eventsAttending.append(eventId)
                    user["eventsToAttend"] = eventsAttending;
                    user.saveInBackground()
                    }

                }
            }
        }

    }

}
你放了吗

alertController.addAction(saveUserToEvent)
也在括号内?它呆在外面

这应该行得通

    func buttonTapped(sender: AnyObject) {

    let button = sender as! UIButton
    let view = button.superview
    let cell = view?.superview as! UITableViewCell
    let indexPath = collectionView.indexPathForCell(cell)

    //        print(indexPath)

    if let indexPath = indexPath {
        if let event = events?[indexPath.row] {

            //pops alert vc

            var alertController : UIAlertController = UIAlertController(title: event.eventTitle, message: nil, preferredStyle: UIAlertControllerStyle.Alert)

            let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)

            alertController.addAction(cancelAction)

            let saveUserToEvent = UIAlertAction(title: "Yes", style: .Default) { _ in



                var attendees = [String]()
                if let attendeesTmp = event["attendees"] as?[String] {
                    attendees = attendeesTmp;
                }
                if let objId = PFUser.currentUser()?.objectId {
                    var found = false
                    for objIdd in attendees {
                        if objIdd == objId {
                            found = true
                            break;
                        }
                    }
                    if !found {
                        attendees.append(objId)
                        event["attendees"] = attendees;
                        event.saveInBackground()
                    }
                }

                if let user = PFUser.currentUser() {
                    var eventsAttending = [String]()
                    if let eventsAttendingTmp = user["eventsToAttend"] as?[String] {
                        eventsAttending = eventsAttendingTmp;
                    }
                    if let eventId = event.objectId {
                        var found = false
                        for eventIdd in eventsAttending {
                            if eventIdd == eventId {
                                found = true
                                break;
                            }
                        }
                        if !found {
                            eventsAttending.append(eventId)
                            user["eventsToAttend"] = eventsAttending;
                            user.saveInBackground()
                        }

                    }
                }


            }

            alertController.addAction(saveUserToEvent)


        }

    }

}

非常感谢!一旦我修复了所有iOS 9错误并可以重新构建和运行,我将尝试使用它@伊奇兹勒