문제
iPhone SDK에서 MySQL 데이터베이스와 인터페이스하는 서버 측 PHP로 여러 매개 변수를 전달하고 싶습니다.
이 작업을 수행하는 방법에 대한 답변을 찾았지만 여러 매개 변수를 포함시키는 방법을 알아내는 데 어려움을 겪고 있습니다.
내가 지금 가지고있는 것은
- (IBAction)sendButtonPressed:(id)sender
{
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d", theDate];
NSURL *url = [[NSURL alloc] initWithString:urlstr];
[urlstr release];
[url release];
}
1 매개 변수에 대해 작동하지만 내가 찾고있는 것은 다음과 같습니다.
http://server.com/file.php?date=value&time=value&category=value&tags=value&entry=value
이 작업을 어떻게할까요?
해결책
그만큼 - initWithFormat
메소드는 형식 문자열에 대해 여러 인수를 취합니다.
따라서 다음과 같은 일을 할 수 있습니다.
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d&second=%d&third=%d", theDate, 2, thirdIVar];
- initWithFormat
거의 동일하게 작동합니다 printf()
그리고 그것은 변형입니다.
여기에 있습니다 printf()
예 http://stahlforce.com/dev/index.php?tool=CSC02
편집 : 변수는 어디에 있습니까? nameField, tagsField, dreamEntry
정의 및 설정?
그들이 그렇지 않다면 NSString
s와 정의 @interface
이런 식으로 사용할 수 없습니다.
테스트를위한 몇 가지 값을 하드 코딩하는 것이 좋습니다.
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%@&time=%@&name=%@&category=%d&tags=%@&entry=%@", nil, nil, @"Name", nil, @"Tags", @"Dream"];
다른 팁
NSURL을 생성한다고해서 서버와 통신을 열지 않습니다. URL을 보유하기위한 데이터 구조 일뿐입니다. 당신은 읽고 싶어합니다 nsurlconnection.
형식으로 전달하는 모든 변수가 실제로 숫자입니까? %d
숫자의 자리 표시 자입니다. %@
대상입니다. 테스트 목적으로도 숫자를 기대하고 있다면 NIL을 통과하는 것은 매우 놀라운 일입니다. Nil은 0이기 때문에 "작동"하지만 실제로는 숫자가 아니라는 것을 암시합니다.