【发布时间】:2015-12-25 18:51:41
【问题描述】:
我有两个测试应用:App1 和 App2。
App1 从文本字段中获取字符串并触发方法:
@IBAction func openApp(sender: AnyObject) {
let url1 = ("app2://com.application.started?displayText="+textToSend.text!)
let url2 = url1.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())
UIApplication.sharedApplication().openURL(NSURL(string: url2!)!)
}
实际上打开的 App2 只有标签应该更改为通过 url 发送的文本,代码在 AppDelegate.swift 中:
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
let url = url.standardizedURL
let query = url?.query
ViewController().labelToDisplayResult.text = query
return true;
}
不幸的是,我试图将 URL 的结果传递给实际标签的行给了我这个错误:
EXC_BAD_INSTRUCTION (CODE=EXC_I386_INVOP SUBCODE=0x0)
但是,我可以肯定地在 App2 中拥有所有数据,因为我可以在调试器中看到它们的值:
url NSURL "app2://com.application.started?displayText=564315712437124375" 0x00007fa4e3426320
query String? "displayText=564315712437124375"
知道为什么会出现此错误吗?
谢谢...
【问题讨论】:
标签: ios swift url fatal-error