當我寫這篇文章:把一個文本字段的值到另一個字符串中
NSLog("Text Value %@",statutsField.text);
它做工精細,但是當我這樣做:
NSURL *url = [NSURL URLWithString:@"http://MyUrl/%@",statutsField.text];
我得到一個錯誤:
too many argument to method call, expected ...
請幫忙。
當我寫這篇文章:把一個文本字段的值到另一個字符串中
NSLog("Text Value %@",statutsField.text);
它做工精細,但是當我這樣做:
NSURL *url = [NSURL URLWithString:@"http://MyUrl/%@",statutsField.text];
我得到一個錯誤:
too many argument to method call, expected ...
請幫忙。
URLWithString:
只接受一個參數;一個單一NSString
。你傳遞了兩個字符串@"http://MyUrl/%@"
和statutsField.text
中的字符串。
您需要構建字符串的組合版本,並將該組合版本傳遞給URLWithString:
。使用+[NSString stringWithFormat:]
此:
NSString * myURLString = [NSString stringWithFormat:@"http://MyUrl/%@", statutsField.text]
NSURL * myURL = [NSURL URLWithString:myURLString];
功能NSLog
接受可變數目的參數的基礎上,format specifiers它所發現在它的第一串(格式字符串)的數量;這就是您撥打NSLog
的原因。方法stringWithFormat:
的工作方式相似。對於每個%@
,它在其第一個參數中找到它從參數列表的其餘部分獲取一個對象,並將其放入結果字符串中。
有關詳細信息,請參見字符串編程指南中的Formatting String Objects。
嘗試[NSURL URLWithString:[NSString stringWithFormat:@"http://MyUrl/%@",statutsField.text]];
希望有所幫助。
試試這個:
NSString *base = @"http://MyUrl/";
NSString *urlString = [base stringByAppendingString:statutsField.text];
NSURL *url = [NSURL URLWithString:urlString];
URLWithString
只接受1參數的方法,但你逝去的兩個參數,即字符串@"http://MyUrl/%@"
和statutsField.text
所以,你必須事先字符串連接在一起,或內聯使用NSString
的stringWithFormat
方法。
它的工作,塔赫克你所有 – user567 2011-05-19 00:53:13