IPhone开发一月小结
?? ?接触IPhone开发将近一个月了,由于有一些Android开发的项目经验,对于IPhone还是很快可以上手的.最近因导师的要求,把在Android上前段时间实现的一个应用在IPhone上的也实现(不过是简化版的).经过两天的编写程序,完成了三分之一的工作,其中包括:应用HTTP对服务器的访问并获得服务器的响应,对相应的xml文件的解析,应用导航试图的UI,差不多现就这些吧.根据做的先后顺序我来详细说一下.
?
应用导航视图的UI(与上一篇有点类似)
?? ?导航视图关键是有一个视图导航控制器,这个视图导航器在Interface Builder(IB)中要添加,而且在委托文件中要是定义,下来在IB中将两者关联起来.
?? ?视图导航器有一个根视图,这个在IB中要给导航视图控制器指明(在MainWindow.xib中展开视图导航控制器,为Root View Controller指定具体的类),其他视图都是子视图,进入视图导航器的栈或者出栈.每一个视图都可以有自己的Nib文件也可以没有,有的话可以在IB中的属性栏中指定.
?? ?下面的代码为定义一个新的视图控制器和转入新的视图的例子.
//创建一个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 responseNSHTTPURLResponse * response; //access the server, get the data and responseNSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
整个过程就是通过Request告诉做什么?,如何做?做得结果通过data和response返回.
?由于xml文件的解析使用的是NSXMLParser对象,与Android中的SAX类似,都是事件驱动型的,此处不再详细介绍.