首页 > 代码库 > json
json
//json转换成oc对象 NSString *jsonStr= @"{\"name\":\"Zhangsan\",\"age\":20,\"dog\":{\"name\":[\"XiaoHei\", \"XiaoQiang\"]}}"; NSData *data=http://www.mamicode.com/[jsonStr dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@"%@",data); NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; NSLog(@"%@",dic); NSLog(@"===%@",dic[@"age"]); NSLog(@"%@",dic[@"dog"][@"name"]); NSDictionary *dic2=[dic objectForKey:@"dog"]; NSLog(@"%@",dic2); NSArray *array=[dic2 objectForKey:@"name"]; NSLog(@"%@",[array objectAtIndex:1]); //oc对象装换成json NSDictionary *dic3=@{@"name":@[@"liSI",@"wangWu"],@"age":@32}; NSData *data2=[NSJSONSerialization dataWithJSONObject:dic3 options:NSJSONWritingPrettyPrinted error:nil ]; NSString *str2=[[NSString alloc]initWithData:data2 encoding:NSUTF8StringEncoding]; NSLog(@"%@",str2); NSObject类中的+ (BOOL)instancesRespondToSelector:(SEL)aSelector用于判断某类中是否实现了某实例方法URI 统一资源URL 统一资源标识符异步请求是不会等待的,同步是要等待的执行完才执行下一代码、、、、、、、、、网络请求、、、、、、、//// ViewController.m// NSObjc-0804//// Created by apple on 14-8-4.// Copyright (c) 2014年 apple. All rights reserved.//#import "ViewController.h"#import "Ketter.h"@interface ViewController () @end@implementation ViewController - (void)viewDidLoad { [super viewDidLoad];// Ketter *k=[[Ketter alloc]init]; NSURL *url=[NSURL URLWithString:@"http://www.baidu.com/"]; NSLog(@"%@ %@",[url host],[url scheme]); NSURL *url2=[NSURL URLWithString:@"../../../" relativeToURL:url]; NSLog(@"%@",url2); NSURLRequest *request=[NSURLRequest requestWithURL:url]; NSLog(@"%@",[request HTTPMethod]); NSLog(@"%@",[request allHTTPHeaderFields]); //获取请求地址 NSLog(@"%@",[request URL]); [request cachePolicy]; NSData *data=http://www.mamicode.com/[NSData dataWithContentsOfURL:url]; NSLog(@"%d",data.length); //同步方法 //调用一个方法的时候,如果该方法的返回依赖于它的功能是否完成,称为同步方法// NSData *data2=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { NSLog(@"%d",data.length); }]; NSLog(@"======%@",request); // NSString}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@endjson就是一个字符chuan///////////////////////////////////////////////////////////// Kitty *k = [[Kitty alloc] init]; [k print]; //@selector(print) : myPrint //1. 运行时替换Kitty中print方法的实现 class_replaceMethod([Kitty class], @selector(print), myPrint, NULL); //给k对象发送@selector(print)消息// [k print]; class_addMethod([Kitty class], @selector(printx), myPrint, NULL); [k performSelector:@selector(printx)]; //动态语言 //swizzing //Objective-C方法的调用,发送消息 objc_msgSend(k, @selector(print)); //获取的是实例方法 IMP call = [k methodForSelector:@selector(call)];// call(k, @selector(call)); //子类的对象调用子类方法的实现 SonKitty *son = [[SonKitty alloc] init]; [son print]; //本质上,用%@打印对象的时候,打印的是该对象调用description方法所返回的字符串 NSLog(@"%@:%@", [son description], son); NSArray *array = @[@13, @"35", son]; NSLog(@"%@", array); UIView *v = [[UIView alloc] init]; NSLog(@"%@", v); //isKindOfClass匹配子类和父类的对象 //isMemberOfClass严格匹配类型 if (![son isMemberOfClass:[Kitty class]]) { NSLog(@"v is not kind of Kitty"); } else { NSLog(@"v is kind of Kitty"); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。