当前位置: 代码迷 >> Iphone >> IPhone开发元月份小结
  详细解决方案

IPhone开发元月份小结

热度:10   发布时间:2016-04-25 06:22:22.0
IPhone开发一月小结

?? ?接触IPhone开发将近一个月了,由于有一些Android开发的项目经验,对于IPhone还是很快可以上手的.最近因导师的要求,把在Android上前段时间实现的一个应用在IPhone上的也实现(不过是简化版的).经过两天的编写程序,完成了三分之一的工作,其中包括:应用HTTP对服务器的访问并获得服务器的响应,对相应的xml文件的解析,应用导航试图的UI,差不多现就这些吧.根据做的先后顺序我来详细说一下.

?

应用导航视图的UI(与上一篇有点类似)

?? ?导航视图关键是有一个视图导航控制器,这个视图导航器在Interface Builder(IB)中要添加,而且在委托文件中要是定义,下来在IB中将两者关联起来.

?? ?视图导航器有一个根视图,这个在IB中要给导航视图控制器指明(在MainWindow.xib中展开视图导航控制器,为Root View Controller指定具体的类),其他视图都是子视图,进入视图导航器的栈或者出栈.每一个视图都可以有自己的Nib文件也可以没有,有的话可以在IB中的属性栏中指定.

?? ?下面的代码为定义一个新的视图控制器和转入新的视图的例子.

//创建一个新的视图控制器ArticleViewController *articleViewController = [[ArticleViewController alloc] 												initWithFeedId:feedId];//设置这个新控制器的标题articleViewController.title = feedTitle;//转入新的视图	[self.navigationController pushViewController:articleViewController										 animated:YES];[articleViewController release];

访问服务器:?

?? ?访问服务器主要需要这几个部件:Request, Response, Data

?? ?Request为如何访问服务器以及希望获得什么服务(这些服务肯定是提前约定好的哦);

//创建一个RequestNSMutableURLRequest * request = [NSMutableURLRequest new]; //Create a URL to tell the server what to do 	NSURL* url = [NSURL      URLWithString:@"http://www.*****.com/sources.xml"];  //actually the URL is one part of Request[request setURL:url];  //set the Request method[request setHTTPMethod:@"GET"];NSMutableString * credentials = [[NSMutableString alloc] initWithString:@"Basic "];NSMutableString * userID = [[NSMutableString alloc] initWithString:@"tester:tester"];[credentials appendString:[self encodeBase64:userID]];//authentication	[request addValue:credentials forHTTPHeaderField:@"Authorization"];	[credentials release];[userID release];//create response	NSHTTPURLResponse * response;  //access the server, get the data and responseNSData* data = [NSURLConnection sendSynchronousRequest:request 									returningResponse:&response error:nil];

整个过程就是通过Request告诉做什么?,如何做?做得结果通过data和response返回.

?由于xml文件的解析使用的是NSXMLParser对象,与Android中的SAX类似,都是事件驱动型的,此处不再详细介绍.

  相关解决方案