Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Ios 视图将显示为不启动_Ios_Swift2_Xcode7_Viewdidload_Viewdidappear - Fatal编程技术网

Ios 视图将显示为不启动

Ios 视图将显示为不启动,ios,swift2,xcode7,viewdidload,viewdidappear,Ios,Swift2,Xcode7,Viewdidload,Viewdidappear,我正在使用Swift 2和Xcode 7。今天早上,我的应用程序运行良好。然而,事实并非如此。在我的viewDidLoad方法中,我print(“viewDidLoad”)。在我的viewdide方法中,我print(“viewdide)。viewdideload会打印到日志中,但viewdide不会。我的应用程序会卡在启动屏幕上。以下是我的完整代码: // // ViewController.swift // Math Practice // // Created by Pranav W

我正在使用Swift 2和Xcode 7。今天早上,我的应用程序运行良好。然而,事实并非如此。在我的
viewDidLoad
方法中,我
print(“viewDidLoad”)
。在我的
viewdide
方法中,我
print(“viewdide
)。viewdideload会打印到日志中,但viewdide不会。我的应用程序会卡在启动屏幕上。以下是我的完整代码:

//
//  ViewController.swift
//  Math Practice
//
//  Created by Pranav Wadhwa on 8/7/15.
//  Copyright (c) 2015 Pranav Wadhwa. All rights reserved.
//

import UIKit
import iAd
class ViewController: UIViewController, ADBannerViewDelegate {
@IBOutlet var iAdBannerView: ADBannerView?

func bannerViewDidLoadAd(banner: ADBannerView!) {
    self.iAdBannerView?.hidden = false
}

@IBOutlet var startStop: UIButton!
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
    seconds = 0
    minutes = 0
    correct = 0
    startStop.setTitle("Start", forState: .Normal)
    total = 0
    correctLabel.text = "0/0"
    timerLabel.text = "00:00"
    questionLabel.text = ""
    button1.setTitle("", forState: .Normal)
    button2.setTitle("", forState: .Normal)
    button3.setTitle("", forState: .Normal)
    button4.setTitle("", forState: .Normal)
    timer.invalidate()
    already = false
    return true
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    self.iAdBannerView?.hidden = true
}
var firstNumber = Int()
var secondNumber = Int()
var sign = String()
var arrayOfSigns = ["add", "subtract", "divide", "multiply"]
var correctAnswer = Int()
var buttonWithCorrectAnswer = Int()
var correct = Int()
var total = Int()
@IBOutlet var timerLabel: UILabel!

@IBOutlet var questionLabel: UILabel!

@IBOutlet var correctLabel: UILabel!

@IBOutlet var button1: UIButton!
@IBOutlet var button2: UIButton!
@IBOutlet var button3: UIButton!
@IBOutlet var button4: UIButton!

var timer = NSTimer()

func updateTime() {
    seconds += 01
    if seconds == 60 {
        minutes++
        seconds = 0
    }
    if seconds < 10 {
        timerLabel.text = "\(minutes):0\(seconds)"
    } else {
        timerLabel.text = "\(minutes):\(seconds)"
    }
}
@IBAction func start(sender: AnyObject) {
    if already == false {
        createQuestion()
        startStop.setTitle("Pause", forState: .Normal)
        already = true
        timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("updateTime"), userInfo: nil, repeats: true)
        userLevel.text = ""
        userImage.hidden = true
    } else {
        userImage.hidden = false
        startStop.setTitle("Start", forState: .Normal)
        questionLabel.text = ""
        button1.setTitle("", forState: .Normal)
        button2.setTitle("", forState: .Normal)
        button3.setTitle("", forState: .Normal)
        button4.setTitle("", forState: .Normal)
        timer.invalidate()
        already = false
    }
}

@IBAction func reset(sender: AnyObject) {
    if NSUserDefaults.standardUserDefaults().objectForKey("correctQuestions") != nil {
        totalCorrectQuestions = NSUserDefaults.standardUserDefaults().objectForKey("correctQuestions") as! Int
    }

    userLevel.text = "Level " + String(usersLevel)
    userImage.hidden = false
    seconds = 0
    minutes = 0
    correct = 0
    total = 0
    correctLabel.text = "0/0"
    timerLabel.text = "00:00"
    questionLabel.text = ""
    button1.setTitle("", forState: .Normal)
    button2.setTitle("", forState: .Normal)
    button3.setTitle("", forState: .Normal)
    button4.setTitle("", forState: .Normal)
    timer.invalidate()
    already = false

}

var seconds = 0
var minutes = 0
var already = false


@IBAction func button1(sender: AnyObject) {
    if buttonWithCorrectAnswer == 1 {
        correct += 1
    }
    total += 1
    createQuestion()
}
@IBAction func button2(sender: AnyObject) {
    if buttonWithCorrectAnswer == 2 {
        correct += 1
    }
    total += 1
    createQuestion()
}
@IBAction func button3(sender: AnyObject) {
    if buttonWithCorrectAnswer == 3 {
        correct += 1
    }
    total += 1
    createQuestion()
}
@IBAction func button4(sender: AnyObject) {
    if buttonWithCorrectAnswer == 4 {
        correct += 1
    }

    total += 1
    createQuestion()
}

func createQuestion() {
    correctLabel.text = "\(correct)/\(total)"

    firstNumber = Int(arc4random_uniform(39))
    secondNumber = Int(arc4random_uniform(39))
    firstNumber -= 20
    secondNumber -= 20
    let i = Int(arc4random_uniform(4))
    sign = arrayOfSigns[i]
    if sign == "divide" {
        firstNumber = Int(arc4random_uniform(39))
        secondNumber = Int(arc4random_uniform(39))
        firstNumber -= 20
        secondNumber -= 20
    }

    if sign == "add" {
        questionLabel.text = "\(firstNumber) + \(secondNumber)"
        correctAnswer = firstNumber + secondNumber
    }
    if sign == "subtract" {
        questionLabel.text = "\(firstNumber) - \(secondNumber)"
        correctAnswer = firstNumber - secondNumber
    }
    if sign == "divide" {
        firstNumber = firstNumber * secondNumber
        questionLabel.text = "\(firstNumber) / \(secondNumber)"
        correctAnswer = firstNumber / secondNumber
    }
    if sign == "multiply" {
        questionLabel.text = "\(firstNumber) * \(secondNumber)"
        correctAnswer = firstNumber * secondNumber
    }
    createAnswers()
}
var firstRandomAnswer = Int()
var secondRandomAnswer = Int()
var thirdRandomAnswer = Int()
var fourthRandomAnswer = Int()

func createAnswers() {
    buttonWithCorrectAnswer = Int(arc4random_uniform(4) + 1)

    //Insert Correct Answer
    if buttonWithCorrectAnswer == 1 {
        button1.setTitle("\(correctAnswer)", forState: .Normal)
    } else if buttonWithCorrectAnswer == 2 {
        button2.setTitle("\(correctAnswer)", forState: .Normal)
    } else if buttonWithCorrectAnswer == 3 {
        button3.setTitle("\(correctAnswer)", forState: .Normal)
    } else if buttonWithCorrectAnswer == 4 {
        button4.setTitle("\(correctAnswer)", forState: .Normal)
    }

    //Setup Fake Answer
    if sign == "add" || sign == "subtract" || sign == "divide" {

        firstRandomAnswer = Int(arc4random_uniform(79))
        firstRandomAnswer -= 40

        secondRandomAnswer = Int(arc4random_uniform(79))
        secondRandomAnswer -= 40
        while secondRandomAnswer == firstRandomAnswer {
            secondRandomAnswer = Int(arc4random_uniform(79))
            secondRandomAnswer -= 40
        }
        thirdRandomAnswer = Int(arc4random_uniform(79))
        thirdRandomAnswer -= 40
        while thirdRandomAnswer == secondRandomAnswer || thirdRandomAnswer == firstRandomAnswer {
            thirdRandomAnswer = Int(arc4random_uniform(79))
            thirdRandomAnswer -= 40
        }

        fourthRandomAnswer = Int(arc4random_uniform(79))
        fourthRandomAnswer -= 40
        while fourthRandomAnswer == thirdRandomAnswer || fourthRandomAnswer == secondRandomAnswer || fourthRandomAnswer == firstRandomAnswer {
            fourthRandomAnswer = Int(arc4random_uniform(79))
            fourthRandomAnswer -= 40
        }
    }
    if sign == "multiply" {

        firstRandomAnswer = Int(arc4random_uniform(799))
        firstRandomAnswer -= 400

        secondRandomAnswer = Int(arc4random_uniform(799))
        secondRandomAnswer -= 400
        while secondRandomAnswer == firstRandomAnswer {
            secondRandomAnswer = Int(arc4random_uniform(799))
            secondRandomAnswer -= 400
        }

        thirdRandomAnswer = Int(arc4random_uniform(799))
        thirdRandomAnswer -= 400
        while thirdRandomAnswer == secondRandomAnswer || thirdRandomAnswer == firstRandomAnswer {
            thirdRandomAnswer = Int(arc4random_uniform(799))
            thirdRandomAnswer -= 400
        }

        fourthRandomAnswer = Int(arc4random_uniform(799))
        fourthRandomAnswer -= 400
        while fourthRandomAnswer == thirdRandomAnswer || fourthRandomAnswer == secondRandomAnswer || fourthRandomAnswer == firstRandomAnswer {
            fourthRandomAnswer = Int(arc4random_uniform(799))
            fourthRandomAnswer -= 400
        }
    }


    //Insert Fake Answers
    if buttonWithCorrectAnswer != 1 {
        button1.setTitle("\(firstRandomAnswer)", forState: .Normal)
    }
    if buttonWithCorrectAnswer != 2 {
        button2.setTitle("\(secondRandomAnswer)", forState: .Normal)
    }
    if buttonWithCorrectAnswer != 3 {
        button3.setTitle("\(thirdRandomAnswer)", forState: .Normal)
    }
    if buttonWithCorrectAnswer != 4 {
        button4.setTitle("\(fourthRandomAnswer)", forState: .Normal)
    }
}

@IBOutlet var backgroundImage: UIImageView!
override func viewDidLoad() {
    super.viewDidLoad()
    super.viewDidAppear(false)
    print("viewdidload")

    correctLabel.text = "0/0"
    timerLabel.text = "00:00"
    self.canDisplayBannerAds = true
    self.iAdBannerView?.delegate = self
    self.iAdBannerView?.hidden = true
    var image = arc4random_uniform(2)
    image++
    userImage.hidden = false
    backgroundImage.image = UIImage(named: "background_" + String(image))
    if NSUserDefaults.standardUserDefaults().objectForKey("correctQuestions") != nil {
        totalCorrectQuestions = NSUserDefaults.standardUserDefaults().objectForKey("correctQuestions") as! Int
    }
    totalCorrectQuestions += correct
    NSUserDefaults.standardUserDefaults().setObject(totalCorrectQuestions, forKey: "correctQuestions")
    if NSUserDefaults.standardUserDefaults().objectForKey("userLevel") != nil {
        usersLevel = NSUserDefaults.standardUserDefaults().objectForKey("userLevel") as! Int
    }
    NSUserDefaults.standardUserDefaults().setObject(usersLevel, forKey: "userLevel")
    userLevel.text = "Level " + String(usersLevel)
    pointsForUpgrade = usersLevel * 10


    for var i = 1; i > 0; i++ {
        totalCorrectQuestions += correct
        NSUserDefaults.standardUserDefaults().setObject(totalCorrectQuestions, forKey: "correctQuestions")
        if NSUserDefaults.standardUserDefaults().objectForKey("userLevel") != nil {
            usersLevel = NSUserDefaults.standardUserDefaults().objectForKey("userLevel") as! Int
        }
        if totalCorrectQuestions >= pointsForUpgrade {
            usersLevel++
            pointsForUpgrade = usersLevel * 10
        }
        NSUserDefaults.standardUserDefaults().setObject(usersLevel, forKey: "userLevel")
    }
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}
var pointsForUpgrade = Int()

@IBOutlet var userImage: UIImageView!
var totalCorrectQuestions = Int()
var usersLevel = 1

@IBOutlet var userLevel: UILabel! 
}
//
//ViewController.swift
//数学实践
//
//由Pranav Wadhwa于2015年8月7日创建。
//版权所有(c)2015 Pranav Wadhwa。保留所有权利。
//
导入UIKit
导入iAd
类ViewController:UIViewController、AdBannerViewDeleteGate{
@IBBannerView:ADBannerView?
func bannerViewDidLoadAd(banner:ADBannerView!){
self.iAdBannerView?.hidden=false
}
@IBOUTLE var startStop:UIButton!
func BannerView操作应开始(banner:ADBannerView!,willLeave应用程序willLeave:Bool)->Bool{
秒=0
分钟=0
正确=0
startStop.setTitle(“开始”,用于状态:。正常)
总数=0
correctLabel.text=“0/0”
timerLabel.text=“00:00”
questionLabel.text=“”
button1.setTitle(“,用于状态:。正常)
button2.setTitle(“,用于状态:。正常)
按钮3.setTitle(“,用于状态:。正常)
按钮4.setTitle(“,用于状态:。正常)
timer.invalidate()
已经=错误
返回真值
}
func bannerView(banner:ADBannerView!,DIDFILETORECEIVEADWITHERROR:NSError!){
self.iAdBannerView?.hidden=true
}
var firstNumber=Int()
var secondNumber=Int()
var sign=String()
var arrayOfSigns=[“加”、“减”、“除”、“乘”]
var correctAnswer=Int()
var buttonWithCorrectAnswer=Int()
var correct=Int()
var total=Int()
@IBVAR timerLabel:UILabel!
@IBVAR问题标签:UILabel!
@iblabel:UILabel!
@IBVAR按钮1:UIButton!
@IBVAR按钮2:UIButton!
@IBVAR按钮3:UIButton!
@IBVAR按钮4:UIButton!
var timer=NSTimer()
func updateTime(){
秒+=01
如果秒=60{
会议记录++
秒=0
}
如果秒数小于10{
timerLabel.text=“\(分钟):0\(秒)”
}否则{
timerLabel.text=“\(分钟):\(秒)”
}
}
@iAction func启动(发送方:AnyObject){
如果已经==false{
createQuestion()
startStop.setTitle(“暂停”,状态:。正常)
已经=真
timer=NSTimer.scheduledTimerWithTimeInterval(1,目标:self,选择器:选择器(“更新时间”),userInfo:nil,repeats:true)
userLevel.text=“”
userImage.hidden=true
}否则{
userImage.hidden=false
startStop.setTitle(“开始”,用于状态:。正常)
questionLabel.text=“”
button1.setTitle(“,用于状态:。正常)
button2.setTitle(“,用于状态:。正常)
按钮3.setTitle(“,用于状态:。正常)
按钮4.setTitle(“,用于状态:。正常)
timer.invalidate()
已经=错误
}
}
@iAction func重置(发送方:任意对象){
如果NSUserDefaults.standardUserDefaults().objectForKey(“correctQuestions”)!=nil{
totalCorrectQuestions=NSUserDefaults.standardUserDefaults().objectForKey(“correctQuestions”)as!Int
}
userLevel.text=“Level”+字符串(usersLevel)
userImage.hidden=false
秒=0
分钟=0
正确=0
总数=0
correctLabel.text=“0/0”
timerLabel.text=“00:00”
questionLabel.text=“”
button1.setTitle(“,用于状态:。正常)
button2.setTitle(“,用于状态:。正常)
按钮3.setTitle(“,用于状态:。正常)
按钮4.setTitle(“,用于状态:。正常)
timer.invalidate()
已经=错误
}
var秒=0
var分钟=0
var已经=false
@iAction func按钮1(发送方:任意对象){
如果按钮WithCorrectAnswer==1{
正确+=1
}
总数+=1
createQuestion()
}
@iAction func按钮2(发送方:任意对象){
如果按钮的正确答案==2{
正确+=1
}
总数+=1
createQuestion()
}
@iAction func按钮3(发件人:AnyObject){
如果按钮回答正确==3{
正确+=1
}
总数+=1
createQuestion()
}
@iAction func按钮4(发件人:AnyObject){
如果按钮的答案正确==4{
正确+=1
}
总数+=1
createQuestion()
}
func createQuestion(){
correctLabel.text=“\(正确)/\(总计)”
firstNumber=Int(arc4random_uniform(39))
secondNumber=Int(arc4random_uniform(39))
第一个数字-=20
第二个数字-=20
设i=Int(arc4random_-uniform(4))
符号=阵列信号[i]
如果符号==“除法”{
firstNumber=Int(arc4random_uniform(39))
secondNumber=Int(arc4random_uniform(39))
第一个数字-=20
第二个数字-=20
}
如果符号==“添加”{
questionLabel.text=“\(第一个数字)+\(第二个数字)”
correctAnswer=第一个数字+第二个数字
}
如果符号==“减法”{
questionLabel.text=“\(第一个号码)-\(第二个号码)”
correctAnswer=第一个数字-第二个数字
}
如果符号==“除法”{
firstNumber=firstNumber*secondNumber
questionLabel.text=“\(第一个数字)/\(第二个数字)”
correctAnswer=firstNumber/secondNumber
}
如果符号==“乘法”{
questionLabel.text=“\(第一个号码)*\(第二个号码)”
correctAnswer=第一个号码*第二个号码
}
createAnswers()
}
var firstRandomAnswer=Int()
var secondRandomAnswer=Int()
var thirdRandomAnswer=Int()
var fourthRandomAnswer=Int()
func createAnswers(){
按钮WithCorrectAnswer=Int(arc4random_统一(4)+1)
//插入正确答案
如果按钮WithCorrectAnswer==1{
button1.setTitle(“\(correctAnswer)”,用于状态:。正常)
}如果按钮的正确答案=2,则为else{
button2.setTitle(“\(correctAnswer)”,用于状态:。正常)
}如果按钮的正确答案=3,则为else{
按钮3.setTitle(\(correctAnswer)”,用于状态:。或