xcode 线程 1:EXC_BREAKPOINT(代码=1,子代码=0x10136bb50)- swift

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/46727008/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 10:21:34  来源:igfitidea点击:

Thread 1: EXC_BREAKPOINT (code=1, subcode=0x10136bb50) - swift

swiftxcodeswift3

提问by S.M_Emamian

I got this error when I want to send value with GETmethod:

当我想使用GET方法发送值时出现此错误:

Thread 1: EXC_BREAKPOINT (code=1, subcode=0x10136bb50)

线程 1:EXC_BREAKPOINT(代码=1,子代码=0x10136bb50)

To get values:

获取值:

var flname      = self.txt_field_flname.text
var job_title   = self.txt_field_job_title.text
var mobile      = self.txt_field_mobile.text
var des         = self.txt_field_des.text
var lat         = self.lat
var lon         = self.lon

self.sendNewJob(fname: flname!, title: job_title!, mobile:  mobile!, des: des!, lat: String(lat), lon: String(lon) )


func sendNewJob(fname:String,title:String,mobile:String,des:String,
                lat:String,lon:String)
{
    print("fname \(fname)  title \(title)  mobile \(mobile) des \(des) lat \(lat) lon \(lon)") //output is well

    RestApiManager.sharedInstance.sendNewJob(fname: fname,title: title,mobile:mobile,
                                             des:des,lat:lat,lon:lon) { (json: JSON) in

    }
}


func sendNewJob(fname:String,title:String,mobile:String,des:String,
                lat:String,lon:String,onCompletion: @escaping (JSON) -> Void) {
    let route = baseURL+"up=1&Name=\(fname)&BusinessName=\(title)&MobileNumber=\(mobile)&latitude=\(lat)&longitude=\(lon)&Description=\(des)"
    makeHTTPGetRequest(path: route, onCompletion: { json, err in
        onCompletion(json as JSON)
    })
}


// MARK: Perform a GET Request
private func makeHTTPGetRequest(path: String, onCompletion: @escaping ServiceResponse) {
    let request = NSMutableURLRequest(url: NSURL(string: path)! as URL) // line of my error

    let session = URLSession.shared

    let task = session.dataTask(with: request as URLRequest, completionHandler: {data, response, error -> Void in
        if let jsonData = data {
            let json:JSON = JSON(data: jsonData)
            onCompletion(json, error as NSError?)
        } else {
            onCompletion(nil, error as NSError?)
        }
    })
    task.resume()
}

enter image description here

在此处输入图片说明

回答by rajtharan-g

This happens when the code executes a nil value. Here the code NSURL(string: path)! value might be nil. You can use optional binding (if let) to check whether the NSURL is a valid one. It happens when the string is not valid and does not make a valid URL.

当代码执行 nil 值时会发生这种情况。这里是代码 NSURL(string: path)!值可能为零。您可以使用可选绑定(如果让)来检查 NSURL 是否有效。当字符串无效且未生成有效 URL 时会发生这种情况。

回答by Vini App

You can use like this :

你可以这样使用:

private func makeHTTPGetRequest(path: String, onCompletion: @escaping ServiceResponse) {
    if let encodedPath = path.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) {
        if let url = URL(string: encodedPath) {
            let request = URLRequest(url: url)
            let session = URLSession.shared
            let task = session.dataTask(with: request as URLRequest, completionHandler: {data, response, error -> Void in
                if let jsonData = data {
                    let json:JSON = JSON(data: jsonData)
                    onCompletion(json, error as NSError?)
                } else {
                    onCompletion(nil, error as NSError?)
                }
            })
            task.resume()
        } else {
            print("url is nil")
            onCompletion(nil)
        }
    } else {
        print("unable to encode url")
        onCompletion(nil)
    }
}