iPhone开发应用几个案例实现分析

移动开发 iOS
iPhone开发应用几个案例实现分析是本文要介绍的内容,主要是来学习对iphone开发中几个小案例的实现进行来讲解并分析,具体内容来看本文详解。

iPhone开发应用几个案例实现分析是本文要介绍的内容,主要是来学习对iphone开发中几个小案例的实现进行来讲解并分析,具体内容来看本文详解。

1、解析NSString形式xml的代码 

提出的问题:

  1. NSString *xmlString = @"<person><name>Jack</name><age>13< /age></person>"; 

如何对这个xmlString构造一个NSXML,以及如何解析构造的NSXML.

解决方法:先转换成NSData,然后用NSXMlParser进行解析。代码:

  1. - (void)handleXMLData {       
  2.     NSString *myString = @"<addresses owner='swilson'><person><lastName>Doe</lastName><firstName>John</firstName></person></addresses>";   
  3.     NSData *myRequestData = [ NSData dataWithBytes: [myString UTF8String]  length:[myString length]];     
  4.     NSXMLParser *myParser = [[NSXMLParser alloc] initWithData:myRequestData];   
  5.     [myParser setDelegate:self];   
  6.     [myParser setShouldProcessNamespaces:YES];   
  7.     [myParser setShouldReportNamespacePrefixes:YES];   
  8.     [myParser setShouldResolveExternalEntities:NO];   
  9.     BOOL success = [myParser parse];   
  10.     [myParser release];  

2、iphone开发中让用户WebView访问网页时嵌入开发者自己的内容
 
代码

  1. NSString *strUrl=[textField text];  
  2.   NSString *urlString=[NSString stringWithFormat:strUrl];  
  3.   NSURL *url=[NSURL URLWithString:urlString];  
  4.   NSURLRequest *urlRequest=[NSURLRequest requestWithURL:url  
  5.                                             cachePolicy:NSURLRequestReturnCacheDataElseLoad  
  6.                                         timeoutInterval:60];  
  7.   NSData *urlData;  
  8.   NSURLResponse *response;  
  9.   NSError *error;  
  10.   urlData=[NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];  
  11.   NSString *dataStr =[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];  
  12.   dataStr = [dataStr substringToIndex:[dataStr length] - 16];  
  13.   dataStr = [dataStr stringByAppendingString:@"<p>hello world navy did it </p></body></html>"];  
  14.   NSLog(@"%@",dataStr);  
  15.   const char *cString = [dataStr UTF8String];  
  16.   NSData *myData= [[NSData alloc]initWithBytes:cString length:strlen(cString)+1];  
  17.   [self.myWebView loadData:myData MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:url]; 

这个代码我是在UICatalog中WebViewController中添加的,有人要这功能,小生就乘机学习了下,嫌麻烦,直接用的UICatalog代码.见谅.

此代码功能在于:在你访问的网页左下角加了hello world navy did it.几个字.

不希望做流氓功能.一切以用户为主.

3、iPhone开发中,动态调用类和方法

举一个很简单的例子:

某公司的有1000名员工, 每个员工的工资都不一样. 发工资的时候, 这要是人工去发, 耗费的时间和精力是非常大的. 所以财务会打一个表格给银行, 委托银行转账.

站在银行的角度, 如果有1000个公司, 委托银行转账发工资. 它应该怎么做呢? 它需要通过电子转账系统, 输入公司名字, 每个员工的工资数, 就可以实现自动转账了.

好, 我们回到 iPhone 开发上来:

我们现在面临的情况是, 有10个类, 每个类里头都有n个方法(前提是方法名有规律可循,比如 setA0,setA1…) 如果挨个去init类, 然后挨个调用方法,这样你一天就不用干别的了.

Objective-C里 面,我们可以这样实现:

有数组: classNames, 存着 类的名字

方法名都是 setA 开头

  1. for (int c=0; c<[classNames count]; c++) {  
  2. NSString *className=[classNames objectAtIndex:c];  
  3. id class=[[NSClassFromString(className) alloc] init];  
  4. for (int i=0; i<[params count]; i++) {  
  5. [class performSelector:NSSelectorFromString([NSString stringWithFormat:@"setA%i",i])];  
  6. }  

两个重要的宏 我加大字体标出来了,然后你可以再发挥一下, 比如传参数。

4、iPhone开发项目中加载本地html文件到uiwebview的代码

如果您想在iPhone项目中加载Documents里面的文件,可以尝试CocoaChina版主“lvyile”提供的代码

  1. - (void)loadDocument:(NSString*)docName {   
  2.     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  3.     NSString *documentsDirectory = [paths objectAtIndex:0];      
  4.     NSString *path = [documentsDirectory stringByAppendingPathComponent:docName];      
  5.     NSURL *url = [NSURL fileURLWithPath:path];  
  6.     NSURLRequest *request = [NSURLRequest requestWithURL:url];  
  7.    
  8.     self.myWebView.scalesPageToFit = YES;  
  9.    
  10.     [self.myWebView loadRequest:request];  

如果加载App内部的文件,需要改一下代码

  1. NSString   
  2. *mainBundleDirectory = [[NSBundle mainBundle] bundlePath];  
  3. NSString   
  4. *path = [mainBundleDirectory  stringByAppendingPathComponent:docName]; 

小结:iPhone开发应用几个案例实现分析的内容介绍完了,希望通过本文的学习能对你有所帮助!更多关于iphone开发的相关的内容,请参考iphone开发频道的内容。

责任编辑:zhaolei 来源: CocoaChina
相关推荐

2011-08-15 15:44:46

iPhone开发PDF

2011-08-18 16:24:44

iPhone开发图片

2011-08-19 11:10:31

iPhone应用

2011-08-16 15:48:37

iPhone开发抓图程序

2011-08-18 15:24:40

iPhone国际化

2011-08-19 10:05:30

iPhone开发

2011-08-17 16:12:20

iPhone应用程序

2011-08-15 18:02:32

iPhone开发表视图

2011-08-15 10:06:22

iPhone开发nib 文件

2011-08-16 15:36:47

iPhone应用测试

2011-08-17 16:23:31

iPhone开发UIViewContr

2012-05-09 09:49:57

移动支付

2011-08-18 16:42:07

iPhone应用APNS推送

2011-08-19 10:01:09

iPhone应用SqliteUITableView

2011-07-25 17:07:16

iPhone KVO KVC

2011-07-25 14:44:41

iPhone iPhone开发 截屏

2011-08-05 13:49:53

iPhone 应用 开发

2011-08-15 13:50:06

IPhone开发UIView动画

2011-08-12 11:31:46

iPhoneUIView动画

2011-08-17 16:29:12

iPhone开发UIButton
点赞
收藏

51CTO技术栈公众号