delegate

导航

 
#import <UIKit/UIKit.h>
#import "AFNetworking.h"
#import "SuccessViewController.h"
@interface RootViewController : UIViewController
{
    //声明加载数据的AFNetWork成员变量
    AFHTTPRequestOperationManager *_manager;
    
    
    SuccessViewController *_successController;
}
- (IBAction)pressReg:(id)sender;
- (IBAction)pressLogin:(id)sender;
@property (weak, nonatomic) IBOutlet UITextField *nameTextField;
@property (weak, nonatomic) IBOutlet UITextField *pwdTextField;
@property (weak, nonatomic) IBOutlet UITextField *emailTextField;

@end

#import "RootViewController.h"

@interface RootViewController ()

@end

@implementation RootViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)pressReg:(id)sender {
    
    //实例化
    _manager=[AFHTTPRequestOperationManager manager];
    //AF 不但具有加载数据功能,而且可以自动解析数据,但是解析数据时要求接口格式很严个,所以关闭自动解析数据功能
    //AF 框架默认解析的数据格式为JSON,如果是XML格式,需要设置解析类型
    _manager.responseSerializer=[AFHTTPResponseSerializer serializer];
    
    
    //第一个参数为网址
    //第二个参数为服务器需要接收参数
    NSDictionary *dict=[[NSDictionary alloc]initWithObjectsAndKeys:self.nameTextField.text,@"username",self.pwdTextField.text,@"password",self.emailTextField.text,@"email", nil];
    
    //将参数封装到字典,通过携带字典的网址发送请求,成为POST请求
    [_manager GET:@"http://10.0.8.8/sns/my/register.php" parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) {
        //当相应成功时
        //NSLog(@"%@",responseObject);
        NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"%@",dic);
        
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        //当相应失败时
        NSLog(@"%@",error.localizedFailureReason);
        
        
    }];
    
    
    
    
    
    
}

- (IBAction)pressLogin:(id)sender {
    
    //实例化
    _manager=[AFHTTPRequestOperationManager manager];
    //AF 不但具有加载数据功能,而且可以自动解析数据,但是解析数据时要求接口格式很严个,所以关闭自动解析数据功能
    //AF 框架默认解析的数据格式为JSON,如果是XML格式,需要设置解析类型
    _manager.responseSerializer=[AFHTTPResponseSerializer serializer];
    
    //拼接完成网址,通过完整网址发送请求,成为GET请求
    //GET请求的网址大小不能超过1024B
    NSString *strURL=[NSString stringWithFormat:@"http://10.0.8.8/sns/my/login.php?username=%@&password=%@",self.nameTextField.text,self.pwdTextField.text];
    NSLog(@"%@",strURL);
    [_manager GET:strURL parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        //当相应成功时
        //NSLog(@"%@",responseObject);
        NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"%@",dic);
        if ([[dic objectForKey:@"code"] isEqualToString:@"login_success"]) {
            //跳转到登录成功页面
            _successController=[[SuccessViewController alloc]initWithNibName:@"SuccessViewController" bundle:nil];
            [self presentViewController:_successController animated:YES completion:^{
                
            }];
            
        }
        
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        //当相应失败时
        NSLog(@"%@",error.localizedFailureReason);
        
        
    }];
    
    
}
@end


#import <UIKit/UIKit.h>
#import "AFNetworking.h"
@interface SuccessViewController : UIViewController
{
    AFHTTPRequestOperationManager *_manager;
}
- (IBAction)pressBtn:(id)sender;

@end

#import "SuccessViewController.h"

@interface SuccessViewController ()

@end

@implementation SuccessViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)pressBtn:(id)sender {
    _manager=[AFHTTPRequestOperationManager manager];
    _manager.responseSerializer=[AFHTTPResponseSerializer serializer];
    //上传图片
    [_manager POST:@"http://10.0.8.8/sns/my/upload_photo.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        //添加准备上传的图片
    
        //获得图片路径
        NSString *strURL=[[NSBundle mainBundle]pathForResource:@"b" ofType:@"png"];
        //将本地图片路径封装成NSURL类型
        NSURL *url=[NSURL fileURLWithPath:strURL];
        
        //上传图片
        [formData appendPartWithFileURL:url name:@"attach" error:nil];
        
        
        
    } success:^(AFHTTPRequestOperation *operation, id responseObject) {
        //相应成功时调用
        NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"%@",dict);
        
        
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        //相应失败时调用
        NSLog(@"%@",error.localizedFailureReason);
        
        
    }];
    
    
}
@end
#import "ZYKAppDelegate.h"
#import "Student.h"
@implementation ZYKAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    
    
    //JsonModel作用为将数据转换成模型
    NSString *str=@"{\"name\":\"zhangsan\",\"age\":20,\"array\":[\"abc\"]}";
    //用数据初始化对象
    Student *stu=[[Student alloc]initWithString:str error:nil];
    NSLog(@"%@",stu);
    NSLog(@"%@",stu.toDictionary);
    NSLog(@"%@",stu.toJSONString);
    
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}
#import <UIKit/UIKit.h>
#import "ASIFormDataRequest.h"


@interface ZYKAppDelegate : UIResponder <UIApplicationDelegate,ASIHTTPRequestDelegate>
{
    ASIFormDataRequest *_request;
}

@property (strong, nonatomic) UIWindow *window;

@end

#import "ZYKAppDelegate.h"

@implementation ZYKAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    
    //通过POST请求,加载数据
    NSURL *url=[NSURL URLWithString:@"http://10.0.8.8/sns/my/login.php"];
    _request=[[ASIFormDataRequest alloc]initWithURL:url];
    
    //设置请求方式
    [_request setRequestMethod:@"post"];
    //添加参数
    [_request addPostValue:@"AB__AB__ab" forKey:@"username"];
    [_request addPostValue:@"aaa" forKey:@"password"];
    //设置代理回调
    _request.delegate=self;
    //请求数据
    [_request startAsynchronous];
    
    
    
    
    
    
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)requestFinished:(ASIHTTPRequest *)request
{
    NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:request.responseData options:NSJSONReadingMutableContainers error:nil];
    NSLog(@"%@",dict);
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
    NSLog(@"请求失败");
}
#import <UIKit/UIKit.h>
#import "AFNetworking.h"
@interface ZYKAppDelegate : UIResponder <UIApplicationDelegate>
{
    AFHTTPRequestOperationManager *_manager;
}

@property (strong, nonatomic) UIWindow *window;

@end

#import "ZYKAppDelegate.h"

@implementation ZYKAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    
    //通过AFNetWorking 解析网络数据
    _manager=[AFHTTPRequestOperationManager manager];
    //禁止解析
    _manager.responseSerializer=[AFHTTPResponseSerializer serializer];
    //加载数据
    [_manager GET:@"http://iappfree.candou.com:8080/free/applications/limited?currency=rmb&page=1" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        //解析数据
        NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"%@",dict);
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        
    }];
    
    
    
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

 

posted on 2015-05-09 18:35  jsonUserList  阅读(139)  评论(0编辑  收藏  举报