Сценарий должен быть, я собираюсь ввести действительный код события для входа в приложение. Если я ввел действительный код события, он должен отправить Панель инструментов и подробности события должен появиться на нем. DashBoard был успешно отправлен, но никакие подробности о событиях не появились в ярлыках, а Невозможно вставить COPY_SEND в консоли. событие и validpincode превращается в ноль, хотя в действительности оно должно иметь значение. . Я запутался, где проблема была. в _Unable для вставки COPY_SEND_ или он не получает данные из API. Я видел много проблем и решений, касающихся проблемы COPY_SEND, но я могу найти, что это помогает моей проблеме. Надеюсь, вы можете дать мне немного времени, чтобы помочь мне. Спасибо
Функция showEventDetails
var validPincode: String!
var event: Event!
@IBOutlet weak var eventNameLabel: UILabel!
@IBOutlet weak var dateTimeLabel: UILabel!
@IBOutlet weak var locationLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
configureAALoading()
guard event != nil,
validPincode != nil else {
_ = SCLAlertView(appearance: appearance).showError("No Event Details", subTitle: "There's no event details, please logout and try again")
return
}
showEventDetails()
}
func showEventDetails() {
DispatchQueue.main.async{
self.eventNameLabel.text = "\(self.event.name.uppercased())"
self.locationLabel.text = "\(self.event.location.uppercased())"
if let dateStringFromDate = getFormattedStringFromDate(date: (self.event.startDateTime), formatString: "MMMM dd, yyyy/ hh:mm a") {
self.dateTimeLabel.text = dateStringFromDate
} else {
self.dateTimeLabel.text = "-"
}
}
}
validateEventPasscode от View Controller
func validateEventPasscode(){
//Show Loading
self.view.squareLoading.start(0.0)
let api = APIService(APIKey: passcode)
api.validatePasscode(passcode: passcode, successBlock: { (event) in
// VALID PASSCODE AND NOT DELETED OR CLOSED EVENT
self.event = event
self.view.squareLoading.stop(0.0)
self.performSegue(withIdentifier: "showEventDashboard", sender: self)
self.enteredEventCode.text = ""
переход к Dashboard в ViewController и переходу к DashBoardController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "DashBoardViewController" {
if let DashboardViewController = segue.destination as? DashBoardViewController {
DashboardViewController.event = self.event
DashboardViewController.validPincode = self.passcode
}
}
}
APIService
func validatePasscode(passcode: String,
successBlock: @escaping (Event?) -> Void,
failureBlock: @escaping (Error) -> Void)
{
let passcodeURL = URL (string: "\(PASSCODE_CHECKER_URL)/\(passcode)")
Alamofire.request(passcodeURL!, method: .get).responseJSON { (response) in
print(response)
if let error = response.error
{
failureBlock(error)
return
}
if let passcodeJSON = response.result.value as? [[String : Any]],
let passcodeObj = passcodeJSON.first {
print(passcodeObj)
let event = Event.init(JSON: passcodeObj);
successBlock(event)
}
}
}