2
我在玩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-驗證令牌」)
如果我把addPhoto()直接在homeViewController.publishPhoto它的工作原理代碼...
這是我第一次與iOS,我不知道我做錯了什麼。
順便說一句:EXC_BAD_INSTRUCTION幾乎總是由標準庫斷言失敗發出的。斷言故障故意發出錯誤的CPU指令來暫停程序。您經常會看到它們由於對象沒有正確設置而導致它們爲零。 –
可能會嘗試在Beta 3下運行,現在有一些控制檯消息會導致此問題。在我的情況下,可可方法返回一個隱式解包的可選(Type!的返回類型),您不必檢查,但仍可能爲零。 –