Я хочу иметь возможность подключить мой проект swift к моей базе данных (размещенной на синем хосте с помощью phpmyadmin), и когда я нажимаю кнопку, я хочу, чтобы значение на ползунке или метке (поскольку они подключены) было вставлено в таблицу в моя база данных Я знаю, что это вопрос из двух частей, но мне трудно найти полезный ресурс для:
а также
Я буду добавлять к этому больше, но чтобы немного разбить мой проект, мне действительно нужно основательно начать с соединения и выяснить, как отправлять данные и получать их с помощью swift и базы данных.
Я действительно ценю любую помощь на эту тему или даже ссылки на любые ресурсы, которые могут мне помочь. Я новичок в программировании, поэтому все это чуждо мне.
// So far this is my code in [view controller.swift]
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var lbl: UILabel!
@IBAction func slider(_ sender: UISlider)
{
lbl.text = String(Int(sender.value))
}
func postToServerFunction() {
print(lbl.text!)
}
@IBAction func postToServerButton(_ sender: UIButton) {
postToServerFunction()
}override func viewDidLoad()
{
super.viewDidLoad()
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
}
}
Вот как выглядит моя раскадровка
Это довольно большой вопрос, поэтому было бы сложно ответить на него одним махом, но, поскольку никто другой не пытался, позвольте мне немного помочь вам здесь.
Я вижу, у вас уже есть функция ‘postToServerButton’, которая, как я предполагаю, связана с кнопкой ‘Button’ в вашей раскадровке. Это вызывает функцию postToServerFunction (), которую я не вижу написанной. Я начну с того, что напишу это. Вам также нужно будет подключить ползунок как IBOutlet к вашему коду, чтобы получить его значение. Я пишу этот код из памяти, поэтому, возможно, что-то не так, но, надеюсь, вы поймете,
@IBOutlet weak var slider: UISlider! // Connect your slider to this
let constantValue = 8 // Don't change this
func postToServerFunction() {
var sliderValue = Int(self.slider.value) // The slider value as an Int
var sliderString = String(sliderValue) // The slider value as a String
// The line below is to help you check that you're getting the right values from the slider
print("\(self.constantValue)==D, Slider value: \(sliderValue), Slider String: \(sliderString)")
postValueToServer(sliderValue) // We'll write this below, this is where the post to server part is happening
}
Так что эта следующая функция, где все усложняется. Это подключение вашего кода к базе данных. Я написал некоторый базовый код ниже, но это сложная тема, которая зависит от множества переменных.
func postValueToServer(sliderValue : Int) {
print("\(self.constantValue)==D, Posting slider value \(sliderValue) to database") // Again just another check to make sure we're posting the right value
var url: NSURL = NSURL(string: "http://INSERTYOURPHPURL.php")!
var request:NSMutableURLRequest = NSMutableURLRequest(URL:url)
request.HTTPMethod = "POST"request.HTTPBody = sliderValue.dataUsingEncoding(NSUTF8StringEncoding);
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
{
(response, data, error) in
print(response)
}
}
Проверьте этот сайт для хорошего гида:
http://www.ios-blog.co.uk/tutorials/swift/swift-how-to-send-a-post-request-to-a-php-script/
Других решений пока нет …