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 写入一个 URL,该 URL 位于一个网络托管服务(例如 batcave.net,该 URL 接收信息并相应地更新服务器端文件。像设置这样的高分,用户发送他的分数,服务器更新它的文件,其他用户在运行时下载高分。

4

2 回答 2

1

在这里,回答这个问题:
Creating a highscore like system, iPhone side

我无法编辑我的帖子,因为我以匿名用户身份从我的 iPhone 发布,抱歉。

于 2009-06-21T05:46:25.217 回答
1

至于您的问题的第一部分,我假设您想使用 NSMutableArray 的内容来形成某种 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 回答