Я играю с Swift, и у меня есть странная проблема с запуском моего проекта.EXC_BAD_INSTRUCTION с Swift
У меня есть два класса: homeViewController и Фото.
Это основной код:
homeViewController:
class homeViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UITextViewDelegate, UITextFieldDelegate, UITableViewDelegate, UITableViewDataSource{
// .... some code...
func publishPhoto(){
var photo = Photo()
// Establecemos el loading
photoDesc.resignFirstResponder()
let loading = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
loading.mode = MBProgressHUDModeDeterminate
loading.labelText = "Un segundo por favor...";
var imageData = UIImageJPEGRepresentation(photoInfo["UIImagePickerControllerOriginalImage"] as UIImage, 100.0)
photo.addPhoto()
MBProgressHUD.hideAllHUDsForView(self.view, animated: true)
}
// .... some code ....
}
Фото
import Foundation
import UIKit
class Photo: UIViewController{
func addPhoto(){
var homeCtrl = homeViewController()
homeCtrl.photoDesc.resignFirstResponder()
var imageData = UIImageJPEGRepresentation(homeCtrl.photoInfo["UIImagePickerControllerOriginalImage"] as UIImage, 100.0)
let manager = AFHTTPRequestOperationManager()
manager.requestSerializer.setValue("608c6c08443c6d933576b90966b727358d0066b4", forHTTPHeaderField: "X-Auth-Token")
var parameters = ["user":"admin","password":"123456", "image" : imageData]
manager.POST("http://misdemos.dev/simpleApi/prueba",
parameters: parameters,
success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
println("JSON: " + responseObject.description) },
failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
println("Error: " + error.localizedDescription)
})
}
}
Я получаю ошибку EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
в этой строке:
manager.requestSerializer.setValue ("608c6c08443c6d933576b90966b727358d0066b4", forHTTPHeaderField: "X-Auth-Токен")
Если я поставил addPhoto() код непосредственно в homeViewController.publishPhoto он работает ...
Это мой первый раз с iOS, и я не знаю, что я делаю неправильно.
Как и в сторону: EXC_BAD_INSTRUCTION почти всегда выдаваемый провал утверждения в стандартной библиотеке. Ошибки утверждений преднамеренно вызывают неудачную команду CPU для остановки программы. Вы часто видите, что они вызваны тем, что объект равен нулю, потому что он не настроен должным образом. –
Можете попробовать запустить под бета-версией 3, теперь есть консольное сообщение для некоторых случаев, которые вызывают это. В моем случае метод какао возвращал неявно развернутый необязательный (возвращаемый тип Type!), Который вам не нужно проверять, но все равно может быть nil. –