-4

最近、サーバー上の *.php ファイルを呼び出して応答を収集しようとしています。これを xcode で実行して iOS アプリを作成しようとしています。私はそれをやろうとしました:

NSURLConnection *conn = [[NSURLConnection alloc] init];
(void)[conn initWithRequest:request delegate:self];

しかし、これを行うとプログラムがクラッシュし、例外がスローされたと表示されます。だから私はどのように簡単にウェブサーバーを呼び出して応答を得ることができるか知りたい. 私はiOS開発に非常に慣れていないので、何も知らないとは思わないでください;)。

私は多くのチュートリアルを見てきましたが、1つを機能させることができないようです。

4

4 に答える 4

1

Objective C で Web サービスを呼び出す方法はいくつかあります。ASHIHTTPrequestを使用できますまた、このチュートリアルをまだ見つけていない思います。

また、厳密にNSURLConnectionを使用したい場合。これはあなたのやり方かもしれません。これは、ユーザー ID とパスワードの値がリクエストのヘッダー値として送信される単純なログイン API の例です。

NSMutableURLRequest *theRequest   = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:kWebServiceURL]];
[theRequest setValue:kWSReqH_GBLRequestMethodName  forHTTPHeaderField:kWSHFunctionName];
[theRequest setValue:userId forHTTPHeaderField:kWSReqH_GBLUserId];
[theRequest setValue:@"application/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];

//calling for request
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
于 2013-06-27T06:01:35.723 に答える
0

リクエストを送信した直後に conn オブジェクトを解放することはできません。したがって、クラスの静的変数またはメンバー変数にします。このようなもの..

@property (nonatomic, strong) NSURLConnection *connection;

...

@synthesize connection;
...

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"<url>"]];
self.connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[self.connection start];

次に、デリゲート メソッド- (void)connectionDidFinishLoading:(NSURLConnection *)connectionやその他の必要なメソッドを実装します。

これを試すことができますか?

于 2013-06-27T05:53:53.507 に答える
0

NSURLConnection を正しく実装し、そのデリゲート メソッドを実装する必要があるため、エラーが発生しています。

これらのリンクをたどると、それを宣言して構造化する方法がわかります。

NSURLConnection デリゲート メソッド http://yuvarajmanickam.wordpress.com/2012/10/17/nsurlconnection-basics-for-ios-beginners/

例: http://cagt.bu.edu/w/images/8/8b/URL_Connection_example.txt

于 2013-06-27T05:54:16.617 に答える