Objective c 带连接的旋转滤网

Objective c 带连接的旋转滤网,objective-c,iphone-sdk-3.0,connection,Objective C,Iphone Sdk 3.0,Connection,我想知道下一步怎么做: 我有一个应用程序,通过连接接收数据。该数据显示在屏幕上 我想知道我可以使用哪种代码来等待每个连接,我的意思是,连接开始和完成之间的时间,我想在屏幕上显示一个旋转加载 我创造了连接和旋转。我的问题是,我不知道可以使用哪种代码来管理它,也不知道在哪里编写代码。您应该看看如何使用NSURLConnection与委托进行连接。NSURLConnection允许您从后台运行的服务器异步获取数据,并在某些事件发生时通知代理 然后,在视图控制器类中,可以在启动连接之前启动微调器,并在连

我想知道下一步怎么做:

我有一个应用程序,通过连接接收数据。该数据显示在屏幕上

我想知道我可以使用哪种代码来等待每个连接,我的意思是,连接开始和完成之间的时间,我想在屏幕上显示一个旋转加载


我创造了连接和旋转。我的问题是,我不知道可以使用哪种代码来管理它,也不知道在哪里编写代码。

您应该看看如何使用NSURLConnection与委托进行连接。NSURLConnection允许您从后台运行的服务器异步获取数据,并在某些事件发生时通知代理


然后,在视图控制器类中,可以在启动连接之前启动微调器,并在连接完成时让一个委托方法停止微调器。

这是我在类中的代码:connection.h,我在每个类中创建一个对象连接,我想调用一个新的连接来获取数据,但我不知道这样做是否正确

导入连接.h 导入XMLParser.h

@实现连接 @综合webData、soapResults、xmlParser

-连接*Init:NSInteger*methodNumber{ [超级初始化]; methodNum=methodNumber; 回归自我; }

-voidConnect:NSString*soapMessage{

NSLog(soapMessage);

NSURL *url = [NSURL URLWithString:@"http://.....?WSDL"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];

[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];

//NSURLConnection *theConnection =  [NSURLConnection connectionWithRequest:theRequest delegate:self];

NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
[theConnection start];

if( theConnection )
{
    webData = [[NSMutableData data] retain];
}
else
{
    NSLog(@"theConnection is NULL");
}
}

-voidconnection:NSURLConnection*连接didReceiverResponse:NSURLResponse*响应 { [webData setLength:0]; }

-voidconnection:NSURLConnection*连接didReceiveData:NSData*数据 { [webData:data]; }

-voidconnection:NSURLConnection*连接失败错误:NSError*错误 { NSLog@ERROR与合一; [连接释放]; [网络数据发布]; }

-voidConnectiondFinishLoading:NSURLConnection*连接 {

NSLog@DONE.收到的字节数:%d,[webData长度]

NSString*theXML=[[NSString alloc]initWithBytes:[webData可变字节]长度:[webData长度]编码:NSUTF8StringEncoding]

NSLog(theXML);
[theXML release];




if( xmlParser )
{
    [xmlParser release];
}

xmlParser = [[NSXMLParser alloc] initWithData: webData];

//Initialize the delegate.
XMLParser *parser = [[XMLParser alloc] initXMLParser:methodNum];

//Set delegate
[xmlParser setDelegate:parser];


//[xmlParser setDelegate: self];
[xmlParser setShouldResolveExternalEntities: YES];
[xmlParser parse];

[connection release];
[webData release];
}


@结束

你能给我举个例子吗?我不知道如何创建委托。你在回答中发布的代码看起来不错-现在你所要做的就是给连接类一个视图控制器的实例,它应该@synthesis微调器。然后,在调用[Connection start]之前,启动微调器,并在ConnectiondFinishLoading:中再次停止。如何创建实例?我应该在Connection.h中创建一个对象“视图控制器”吗?是的-如果您的视图控制器属于MyViewController类,请在Connection.h中添加一个实例变量,该变量类似于MyViewController*controller;,然后只需在连接的init方法中设置,或者在从控制器初始化它之后设置:Connection.controller=self;谢谢,运行得很好:我想知道,因为我的应用程序有选项卡栏项目,如何在加载视图消失后为我正在单击的选项卡栏重新加载视图谢谢