У меня есть приложение в Swift. У меня есть контроллер представления:Быстрое приложение с ошибкой без ошибок?
//
// ViewController.swift
// SwiftUIPickerFormatted
//
// Created by Codepixl
// Copyright (c) 2014
//
import UIKit
class FirstViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate,UIAlertViewDelegate {
@IBOutlet weak var chapterPicker: UIPickerView!
let chapterData = [1,2,3,4,5,6,7,8,9,10,11,12,13]
let lessonData = [1,2,3,4,5,6,7,8,9,10]
let classData = ["Pre Algebra","Algebra 1"]
var data = ["ade","01","01"]
override func viewDidLoad() {
super.viewDidLoad()
if(UIApplication.sharedApplication().canOpenURL(NSURL(string:"puffin://")!) == true){
println("Can open Puffin links")
}else{
showPuffinAlert()
}
chapterPicker.delegate = self
chapterPicker.dataSource = self
}
//MARK: - Delegates and datasources
//MARK: Data Sources
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 3
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if(component == 0){
return classData.count
}else if(component == 1){
return chapterData.count
}else if(component == 2){
return lessonData.count
}
return 1
}
//MARK: Delegates
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
if(component == 0){
return classData[row]
}else if(component == 1){
return "Chapter " + String(chapterData[row])
}else if(component == 2){
return "Lesson " + String(lessonData[row])
}
return "Error!"
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if(component == 0){
if(row == 0){
data[0] = "ade"
}else if(row == 1){
data[0] = "ate"
}
}else if(component == 1 || component == 2){
if(row+1 < 10){
data[component] = "0"+String(row+1)
}else{
data[component] = String(row+1)
}
}
println("puffin://www.phschool.com/webcodes10/index.cfm?wcprefix=\(data[0])&wcsuffix=\(data[1])\(data[2])&area=view")
}
func showPuffinAlert(){
var createAccountErrorAlert: UIAlertView = UIAlertView()
createAccountErrorAlert.delegate = self
createAccountErrorAlert.title = "Oops!"
createAccountErrorAlert.message = "It seems you do not have the Puffin web browser installed, which is required for this app to work. You can go ahead, but be aware the video and textbook links will not work."
createAccountErrorAlert.addButtonWithTitle("I understand- Proceed.")
createAccountErrorAlert.addButtonWithTitle("I'll download Puffin for free.")
createAccountErrorAlert.show()
}
func alertView(View: UIAlertView!, clickedButtonAtIndex buttonIndex: Int){
switch buttonIndex{
case 0:
NSLog("Proceed");
break
case 1:
NSLog("DL");
UIApplication.sharedApplication().openURL(NSURL(string: "https://itunes.apple.com/us/app/puffin-academy/id716707933?mt=8#")!)
break
default:
NSLog("Default");
break
//Some code here..
}
}
@IBAction func GoVideo(sender: AnyObject) {
UIApplication.sharedApplication().openURL(NSURL(string:"puffin://www.phschool.com/webcodes10/index.cfm?wcprefix=\(data[0])&wcsuffix=\(data[1])\(data[2])&area=view")!)
}
}
И все работает отлично, пока я не попал в «Я понимаю, Proceed» или «Я буду скачать Puffin бесплатно» или GOVIDEO кнопку- он выходит из строя без ошибок. Я полностью зациклен здесь на то, что происходит ...
EDIT: Я также очистил папку для сборки и вручную удалил все в ней, а также добавил println в свой делегат приложения и просмотрел контроллеры, чтобы убедиться, что они обновлены, и у них есть. Также Simulator был очищен.
Вы попробовали сброс симулятора? –
@ShaanSingh Да. Я также использую настоящее устройство iOS для тестирования. Аналогичная проблема имеет симулятор и устройство. – user3042719
UIAlertView устарел в iOS 8. Можете ли вы попробовать переписать код с помощью UIAlertController? –