使用Xcode Playground的Swift代码中的EXC_I386_GPFLT

时间:2016-04-29 11:40:18

标签: swift swift-playground

我在Xcode 7beta / rc Playground项目中运行了相同的代码并出现错误:

  

执行被中断,原因:EXC_BAD_ACCESS(code = EXC_I386_GPFLT)

Document Expired

This document is no longer available.

我如何在Playground项目中解决,因为其他解决方案似乎并不相关?

二叉树:https://www.youtube.com/watch?v=_cPM7CgG-Fc

public function __construct() {
        parent::__construct();

        //date_default_timezone_set("Asia/Kolkata");
        $this->load->helper(array('form', 'url'));
        $this->load->database();
        $this->load->model('User_model');
        $this->load->library(array('session', 'form_validation', 'email'));
        $this->load->file('smtp/Send_Mail.php');

        $this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
        $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
        $this->output->set_header('Pragma: no-cache');
        $this->output->set_header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    

    }

function Logout() {

        $user_data = $this->session->all_userdata();
        foreach ($user_data as $key => $value) {
            if ($key != 'session_id' && $key != 'ip_address' && $key != 'user_agent' && $key != 'last_activity') {
                $this->session->unset_userdata($key);
            }
        }
        $this->session->sess_destroy();
        redirect('Login');
    }

2 个答案:

答案 0 :(得分:2)

Process.arguments包含作为命令行应用程序的参数传递的值。

但您在Playground中使用它:无法访问Playground的命令行输入(它们是Sandboxed),因此Process.arguments为nil,当您执行时,您的应用程序崩溃了# 39;重新做Process.arguments[1]

解决方案是在实际应用程序中使用它,而不是在Playground中使用它。

答案 1 :(得分:0)

您可以使用自定义" readLine()"函数和全局输入变量,输入数组中的每个元素都显示一行:

import Foundation

var currentLine = 0
let input = ["5", "5 6 3"]

func readLine() -> String? {
    if currentLine < input.endIndex {
        let line = input[currentLine]
        currentLine += 1
        return line
    } else {
        return nil
    }
}

let firstLine = readLine() //  5
let secondLine = readLine() // 5 6 3
let thirdLine = readLine() // nil