所有首先,要請檢查是否正確的按鈕被點擊或沒有,你應該使用一些頭文件中定義的東西。 例如:
#define CORRECT_BUTTON_TITLE @"One point,Not good"
,然後做你檢查
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if ([[alertView buttonTitleAtIndex:buttonIndex] isEqualToString:CORRECT_BUTTON_TITLE])
{
// UPDATE YOUR DATABASE
}}
這應該讓你輕鬆地修改您的名字在一個單杆,避免錯誤。
第二個,如何更新您的數據庫。簡而言之,您必須將指令發送到位於您的服務器上的PHP文件,「您的MySQL數據庫旁邊」。您的指示通過HTTP POST請求發送。 在你的PHP,
if(isset($_POST["updateScore"]) and isset($_POST["newScore"]))){
$newScore = intval($_POST["newScore"]);
// execute mysql queries
}
在Xcode中,您可以使用ASIHTTPRequest來發送POST請求。假設您的PHP文件位於www.example.com/update.php
。
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if ([[alertView buttonTitleAtIndex:buttonIndex] isEqualToString:CORRECT_BUTTON_TITLE])
{
// UPDATE YOUR DATABASE
NSURL *url = [NSURL URLWithString:@"www.example.com/update.php"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"1" forKey:@"updateScore"];
[request setPostValue:[NSString stringWithFormat:@"%i", 6] forKey:@"newScore"];
[request setDelegate:self];
[request startAsynchronous];
}}
只是想讓你知道你的語法沒有問題。所有發佈的答案都告訴你使用不同的實現。關於你的唯一「壞」是如果你決定改變一個按鈕的標題,這個實現將在不改變標題的情況下中斷。相反,如果按鈕的順序發生變化,下面的一些解決方案將會中斷。 – Justin