0

次のものを使用することは可能ですか:

[NSMutableArray writeToURL:(NSString *)path atomically:(BOOL)AuxSomething];

ファイル (NSMutableArray) XML ファイルを URL に送信し、そのファイルを含むように URL を更新するには?

例: アレイがあり、それを特定の URL にアップロードし、次にアプリを起動したときにそのアレイをダウンロードしたいとします。

NSMutableArray *arrayToWrite = [[NSMutableArray alloc] initWithObjects:@"One",@"Two",nil];

[arrayToWrite writeToURL:

[NSURL urlWithString:@"mywebsite.atwebpages.com/myArray.plist"] atomically:YES]; 

そして実行時に:

NSMutableArray *arrayToRead = 

[[NSMutableArray alloc] initWithContentsOfURL:[NSURL           urlWithString:@"mywebsite.atwebpages.com/myArray.plist"]];

つまり、NSMutableArray を Web ホスティング サービス (batcave.net など) にある URL に書き込みたいとします。URL は情報を受け取り、それに応じてサーバー側のファイルを更新します。セットアップのようなハイスコア、ユーザーが自分のスコアを送信すると、サーバーが更新されます。それはファイルであり、他のユーザーは実行時にハイスコアをダウンロードします。

4

2 に答える 2

1

質問のパート1については、NSMutableArrayのコンテンツを使用して、Webサービスに送信して情報を期待するある種のURLリクエスト( POSTなど)を作成するとします...

NSMutableArrayのコンテンツをURLに送信するための事前に構築された方法はありませんが、これを自分で行う簡単な方法があります。たとえば、配列のデータをループし、NSURLRequestを利用して、Webサービスのインターフェイスに準拠するURLリクエストを作成できます。リクエストを作成したら、NSURLConnectionオブジェクトを渡すことでリクエストを送信できます。

Obj-C配列を使用してデータを提供するクライアント側のコードがどのように見えるかについてのこの非常に単純で不完全な例を考えてみてください...

NSMutableData *dataReceived; // Assume exists and is initialized
NSURLConnection *myConnection;

- (void)startRequest{
    NSLog(@"Start");

    NSString *baseURLAddress = @"http://en.wikipedia.org/wiki/";

    // This is the array we'll use to help make the URL request
    NSArray *names = [NSArray arrayWithObjects: @"Jonny_Appleseed",nil];
    NSString *completeURLAsString = [baseURLAddress stringByAppendingString: [names objectAtIndex:0]];

    //NSURLRequest needs a NSURL Object
    NSURL *completeURL = [NSURL URLWithString: completeURLAsString];

    NSURLRequest *myURLRequest = [NSURLRequest requestWithURL: completeURL];

    // self is the delegate, this means that this object will hanlde
    // call-backs as the data transmission from the web server progresses
    myConnection = [[NSURLConnection alloc] initWithRequest:myURLRequest delegate: self startImmediately:YES];
}

// This is called automatically when there is new data from the web server,
// we collect the server response and save it
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    NSLog(@"Got some");
    [dataReceived appendData: data];
}

// This is called automatically when transmission of data is complete
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    // You now have whatever the server sent...
}

質問のパート2に取り組むために、Webリクエストの受信者は、有用な応答を行うためにスクリプトまたはインフラストラクチャを必要とする可能性があります。

于 2009-06-21T00:47:33.077 に答える
1

ここで、この質問に答える:
ハイスコアのようなシステムを作成する, iPhone 側

匿名でiPhoneから投稿したため編集できませんでした。

于 2009-06-21T05:46:25.217 に答える