2017-02-21 3 views
0

Я создаю очень простое приложение для какао для macOs.textField ошибка ввода пользователя - cocoa

Вы помещаете в область текстового поля что-то, и когда вы нажимаете кнопку ok, приложение открывает ваш браузер по умолчанию, переходя на определенную веб-страницу и просматривая значение, которое дал пользователь.

Проблема возникает, когда я пытаюсь выполнить поиск с 2 словами, что приложение перестает работать. Одним словом все в порядке.

import Cocoa 

классового PanelViewContoler: NSViewController {

@IBOutlet weak var quitBtn: NSButton! 

@IBOutlet weak var search: NSTextField! 

@IBOutlet weak var okBtn: NSButton! 


class func loadFromNib()-> PanelViewContoler{ 
    let storyboard = NSStoryboard(name: "Main", bundle: nil) 
    return storyboard.instantiateController(withIdentifier: "PanelViewContoler") as! 
    PanelViewContoler 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 


} 
@IBAction func ok(_ sender: Any) { 

    print("oksss") 

    let rpStartURL = "https://xxxxxx/communities/service/html/mycommunities?search=" 
    let searchString = rpStartURL + search.stringValue 
    print(search.stringValue) 
    let searchURL = NSURL(string: searchString) 

    NSWorkspace.shared().open(searchURL as! URL) 

} 

}

enter image description here

+0

На самом деле мне нужно, если в строке есть место для замены на +. – ChristosV

ответ

0

Наконец я нашел его.

search.stringValue.replacingOccurrences (of: "", with: "+").

+0

Не в этом дело (по крайней мере, не вся суть ...). Каждый символ, который не является буквой или числом, может привести к такому же поведению в вашем приложении. Вам нужно кодировать 'search.stringValue' с процентной кодировкой. – vitormm