Я должен сделать http-вызов URL-адреса, и он вернет либо «Недействительный», либо «Действительный» в зависимости от того, что у меня есть в конце URL-адреса. Однако я не могу понять, как это сделать. Я очень новичок в http и не совсем уверен, как это работает. Но у меня так далеко:Как получить строку из http-запроса в swift
func httpcall(urlbit: String) {
var urlor = "http://notrealurl.com/etix.asp?t=scanticket&sid=100000&tid="
urlor += urlbit
let url = NSURL(string: urlor)
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
var feedback = (NSString(data: data, encoding: NSUTF8StringEncoding))
}
task.resume()
if feedback == "invalid" {
return false
} else if feedback == "valid" {
return true
}
}
Очевидно, что это не работает. Ожидание обратной связи, чтобы вернуть что-либо, очевидно, смехотворно. Мне просто нужно выяснить, как получить доступ к тем данным, которые он получает от вызова url - точнее, хотя мне нужно получить строку, которую этот сервер должен отправить мне.
EDIT: Хорошо, поэтому я узнал немного больше о NSURL, и я думаю, что у меня есть нечто почти согласованное. Это все еще не работает, но я считаю, что приближаюсь. Вот мой код:
func httpcall2(urlbit: String, onResult: (Bool)-> Void) {
var urlor = "http://notreal.com/etix.asp?t=scanticket&sid=100000&tid="
urlor += urlbit
let url = NSURL(string: urlor)
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
var feedback = (NSString(data: data, encoding: NSUTF8StringEncoding)) as String!
onResult(response=="Invalid")
}
task.resume()
}
И вот что я использую, чтобы вызвать функцию
httpcall2(mystr, { (responseWasInvalid: Bool) in
dispatch_async(dispatch_get_main_queue(), {() -> Void in
if responseWasInvalid == true {
self.messageLabel.text = "valid"
} else if responseWasInvalid == false {
self.messageLabel.text = "invalid"
}
})
})
Он по-прежнему не кажется, на самом деле получить что-либо от вызова URL.
Чтобы ввести текст в качестве кода, введите строку с 4 пробелами. Есть рекомендации для публикации, на которые вы можете захотеть взглянуть. – chrissukhram