Я провел некоторое исследование и до сих пор не знаю, что вызывает эту ошибку в моем коде (ну, я знаю, что вызывает его, но я не знаю, почему ...)«Ошибка команды из-за сигнала: Ошибка сегментации: 11» - В чем проблема?
По сути, я получаю массив , results
, из Parse Cloud Code. Затем я отправляю его в ViewController2 для печати раздела массива в формате UILabel
. Когда я это сделаю, я получаю ошибку компилятора. Это меня действительно смущает!
Обратите внимание, что result
, массив, который я извлекаю, содержит как строки, так и логические значения, поэтому я сделал это AnyObject
, поэтому позже я мог использовать определенные части.
Облако Код:
Parse.Cloud.define("checkAccountStatus", function(request, response) {
var results = [];
var query = new Parse.Query(Parse.User);
query.equalTo("username", request.params.username);
query.first({
success: function(getUserData) {
if (request.params.operation == 1) {
var passwordChanged = getUserData.get("passwordChanged");
var question1 = getUserData.get("question1");
var question2 = getUserData.get("question2");
var question3 = getUserData.get("question3");
results.push(passwordChanged);
results.push(question1);
results.push(question2);
results.push(question3);
}
else {
if (request.params.answerToQuestion1 == getUserData.get("answer1")) {
results.push(true)
}
else {
results.push(false)
}
if (request.params.answerToQuestion2 == getUserData.get("answer2")) {
results.push(true)
}
else {
results.push(false)
}
if (request.params.answerToQuestion3 == getUserData.get("answer3")) {
results.push(true)
}
else {
results.push(false)
}
}
response.success(results);
},
error: function(error) {
response.error("There was an error");
}
});
});
ViewController1 кодекс (часть его):
var data: AnyObject!
PFCloud.callFunctionInBackground("checkAccountStatus", withParameters: ["username" : self.username.text, "operation" : 1]) {
(result: AnyObject!, error: NSError!) -> Void in
if (error == nil) {
self.data = result
//...
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "reset") {
var svc = segue.destinationViewController as ViewController2;
svc.data = data
}
}
ViewController2 Код:
@IBOutlet var question1: UILabel!
var data: AnyObject!
override func viewDidLoad() {
super.viewDidLoad()
question1.text = data[1] as String! //THIS GIVES ME THE ERROR.
}
Вы используете Xcode 6.3 Swift1.2? –
Я использую Xcode 6.1.1 – nick9999
Я не знаю о быстрой версии – nick9999