2015-01-02 4 views
0

У меня есть приложение в 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 был очищен.

+0

Вы попробовали сброс симулятора? –

+0

@ShaanSingh Да. Я также использую настоящее устройство iOS для тестирования. Аналогичная проблема имеет симулятор и устройство. – user3042719

+0

UIAlertView устарел в iOS 8. Можете ли вы попробовать переписать код с помощью UIAlertController? –

ответ

0

Возможно, в вашем проекте Xcode есть поврежденный файл. Просто создайте новый проект и попробуйте код там.

+0

Ярлык может быть 'rm -rf '$ (getconf DARWIN_USER_CACHE_DIR) /org.llvm.clang/ModuleCache" ' –

Смежные вопросы