的initWithString
方法只能接受正常的NSString,你傳遞一個格式化的NSString,看看下面的代碼:
NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://TestSite.com/virdirectory/Webservice1/Service1.asmx/GetQuote?number=%d", quotedNumber]];
這可能有點令人困惑,你可以按如下方式分解:
NSString *urlString = [NSString stringWithFormat:@"http://TestSite.com/virdirectory/Webservice1/Service1.asmx/GetQuote?number=%d", quotedNumber];
NSURL *url = [[NSURL alloc] initWithString:urlString];
現在您的字符串已正確格式化,並且NSURL initWithString
方法將起作用!
而且,只是所以它是你更清晰的未來,你可以利用Objective-C的點表示法語法當您設置quoteNumber
字符串,如下所示:
NSString *quoteNumber = self.textBox.text;
而且,你想要將此引用號碼作爲數字傳遞到urlString
(如%d
所示),請記住quotedNumber
是NSString對象,並且在嘗試將其傳遞給stringWithFormat
方法時會崩潰。您必須先將字符串轉換爲NSInteger或NSUInteger。
請參閱this SO question如何做到這一點(不要擔心它很容易)!
來源
2012-07-04 01:45:12
Max
你說得對,應該是%@ – wackytacky99