IOS 学习笔记 2015-03-24 OC-API-网络访问-案例一
//
// WPSuggest.h
// OC-API-网络访问
//
// Created by wangtouwang on 15/3/24.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
// #import <Foundation/Foundation.h> #pragma mark -类 反馈信息
@interface WPSuggest : NSObject #pragma mark -属性
@property(nonatomic,copy) NSString *_system;
@property(nonatomic,copy) NSString *_version;
@property(nonatomic,copy) NSString *_productType;
@property(nonatomic,copy) NSString *_suggest;
@property(nonatomic,copy) NSString *_concat; -(id)initWithObject:(NSString *)system :(NSString *) version :(NSString *)productType :(NSString *) suggest :(NSString *) concat; @end //
// WPSuggest.m
// OC-API-网络访问
//
// Created by wangtouwang on 15/3/24.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
// #import "WPSuggest.h" @implementation WPSuggest -(id)initWithObject:(NSString *)system :(NSString *)version :(NSString *)productType :(NSString *)suggest :(NSString *)concat{
if (self = [super init]) {
self._system=system;
self._version=version;
self._productType=productType;
self._suggest=suggest;
self._concat=concat;
}
return self;
} @end //
// WPSuggestResponse.h
// OC-API-网络访问
//
// Created by wangtouwang on 15/3/24.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
// #import <Foundation/Foundation.h> #pragma mark -h 反馈信息 返回结果
@interface WPSuggestResponse : NSObject #pragma mark -h 属性
@property(nonatomic,copy) NSString *status;
@property(nonatomic,copy) NSString *errorMessage;
@end //
// WPSuggestResponse.m
// OC-API-网络访问
//
// Created by wangtouwang on 15/3/24.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
// #import "WPSuggestResponse.h" @implementation WPSuggestResponse @end //
// WPUserContentDelegate.h
// OC-API-网络访问
//
// Created by wangtouwang on 15/3/24.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
// #import <Foundation/Foundation.h>
@class WPSuggest;
@class WPSuggestResponse; #pragma mark -h 用户后天设置协议 其实就是java中的抽象类 提供的抽像方法
@protocol WPUserConsoleDelegate <NSObject> #pragma mark -h 提交用户反馈信息,获取反馈结果
@required
-(WPSuggestResponse *) getWpSuggestResponse:(WPSuggest *)wpsuggest; @end //
// WPUserConsoleService.h
// OC-API-网络访问
//
// Created by wangtouwang on 15/3/24.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
// #import <Foundation/Foundation.h>
#import "WPUserConsoleDelegate.h" @interface WPUserConsoleService : NSObject<WPUserConsoleDelegate> @end //
// WPUserConsoleService.m
// OC-API-网络访问
//
// Created by wangtouwang on 15/3/24.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
// #import "WPUserConsoleService.h"
#import "WPSuggest.h"
#import "WPSuggestResponse.h" @implementation WPUserConsoleService #pragma mark -h 创建反馈信息的Request对象
-(NSURLRequest *) getSuggestRequest:(NSString *)urlStr :(WPSuggest *)wpsuggest{
NSMutableURLRequest *requestMM = nil;
// 链接地址
NSString *str =urlStr;
//UTF编码
str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//创建URL链接
NSURL *url = [NSURL URLWithString:str]; /*创建可变请求*/
requestMM = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:() timeoutInterval:5.0f];
//设置为Post请求
[requestMM setHTTPMethod:@"POST"];
//创建Post参数
NSString *postParamStrs = [NSString stringWithFormat:@"system=%@&version=%@&productType=%@&suggest=%@&contact=%@",wpsuggest._system,wpsuggest._version,wpsuggest._productType,wpsuggest._suggest,wpsuggest._concat];
//创建参数对象
NSData *bodyData=[postParamStrs dataUsingEncoding:NSUTF8StringEncoding];
//设置请求参数
[requestMM setHTTPBody:bodyData];
return requestMM;
} #pragma mark -h 解析反馈链接返回的JSON数据 -(WPSuggestResponse *) getWpSuggestResponse:(WPSuggest *)wpsuggest{
WPSuggestResponse *response = nil;
// 链接地址
NSString *str = @"http://192.168.1.126:18080/wapp//app/addSuggest.htm";
NSMutableURLRequest *requestMM = (NSMutableURLRequest *)[self getSuggestRequest:str :wpsuggest]; NSData *data =[NSURLConnection sendSynchronousRequest:requestMM returningResponse:nil error:nil];
NSError *error=nil;
//将对象序列化为字典
NSDictionary *dic= [NSJSONSerialization JSONObjectWithData:data options: error:&error];
NSString *status = (NSString *)dic[@"status"];
NSString *errorMessage =[status isEqualToString:@""]?@"":(NSString *)dic[@"errorMessage"]; response = [[WPSuggestResponse alloc] init];
response.status=status;
response.errorMessage=errorMessage; //将对象转换为字符串
//NSString *aString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return response;
} @end // main.m
// OC-API-网络访问
//
// Created by wangtouwang on 15/3/24.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "WPUserConsoleService.h"
#import "WPSuggest.h" int main(int argc, const char * argv[]) {
@autoreleasepool {
WPUserConsoleService *wpUserConsoleService = [[WPUserConsoleService alloc] init];
WPSuggest *wpsuggest = [[WPSuggest alloc] initWithObject:@"IOS" :@"8.0" :@"iphone 5S" :@"TEST IOS 中文传送12" :@"1312323@qq.com"];
[wpUserConsoleService getWpSuggestResponse:wpsuggest];
}
return ;
}
IOS 学习笔记 2015-03-24 OC-API-网络访问-案例一的更多相关文章
- IOS学习笔记25—HTTP操作之ASIHTTPRequest
IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...
- iOS学习笔记-精华整理
iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始 ...
- iOS学习笔记总结整理
来源:http://mobile.51cto.com/iphone-386851_all.htm 学习IOS开发这对于一个初学者来说,是一件非常挠头的事情.其实学习IOS开发无外乎平时的积累与总结.下 ...
- iOS学习笔记17-FMDB
上一节我已经介绍了SQLite的简单使用,不了解的可以提前去看一下iOS学习笔记16-数据库SQLite,这节我们来讲下FMDB. 一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQL ...
- iOS学习笔记17-FMDB你好!
上一节我已经介绍了SQLite的简单使用,不了解的可以提前去看一下iOS学习笔记16-数据库SQLite,这节我们来讲下FMDB. 一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQL ...
- iOS学习笔记10-UIView动画
上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UI ...
- iOS学习笔记之ARC内存管理
iOS学习笔记之ARC内存管理 写在前面 ARC(Automatic Reference Counting),自动引用计数,是iOS中采用的一种内存管理方式. 指针变量与对象所有权 指针变量暗含了对其 ...
- iOS学习笔记之UITableViewController&UITableView
iOS学习笔记之UITableViewController&UITableView 写在前面 上个月末到现在一直都在忙实验室的事情,与导师讨论之后,发现目前在实验室完成的工作还不足以写成毕业论 ...
- IOS学习笔记48--一些常见的IOS知识点+面试题
IOS学习笔记48--一些常见的IOS知识点+面试题 1.堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来说,释放工作由程序员控制,容易产生memor ...
- iOS学习笔记-自定义过渡动画
代码地址如下:http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swif ...
随机推荐
- POJ1502: MPI Maelstrom
红果果的dijstra算法应用,这里采用邻接表存储图 小插曲:while(scanf("%d",&n))提交时内存超限,改成while(scanf("%d&quo ...
- ios iphone 将log在终端输出
对于模拟器,其在终端的log文件位于: -/Library/Logs/CoreSimulator/C4B94BA6-EF08-4AD2-AE7D-1A3A2E2AC545/system.log 对 ...
- VPN两点注意事项
今天折腾了半天vpn,特记录以下两点注意事项: 1.客户端VPN连接,点右键属性=>网络选项卡=>双击Internet 协议版本 4 IPV4=>高级=>远程网络上使用默认网关 ...
- ios开发中如何实现软件版本更新
苹果给了我们一个接口,能根据应用id请求一些关于应用的信息.我们可以根据返回的信息,来判断版本是否和应用的版本一致,如果不一致,那么就出现新的版本了.这时,就需要向用户提醒有新的版本,需要更新.具体步 ...
- T-SQL语句查看作业等信息
因服务器需要迁移,需要将现有JOB迁移至新服务器,待服务器调整完毕,则重新迁移到原服务器,所以在做迁移之前希望将现有JOB进行备份,不至于乱了执行时间.1.查看所有作业列表USE master SEL ...
- 修改sublime 侧边栏 颜色 等
通过 Package Control 安装 PackageResourceViewer 插件 安装成功后 快捷键 ctrl+shift+p 输入 PackageResourceViewer 找到 ...
- c++ template笔记
1. 数组 template <typename T, int N> void array_print(T (&arr)[N]) { for(int i = 0; i < N ...
- Chapter 1 Securing Your Server and Network(6):为SQL Server訪问配置防火墙
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题文件夹:http://blog.csdn.net/dba_huangz ...
- C# WPF 解压缩7zip文件 带进度条 sevenzipsharp
vs2013附件 :http://download.csdn.net/detail/u012663700/7427461 C# WPF 解压缩7zip文件 带进度条 sevenzipsharp W ...
- 【转】Sqlserver通过链接服务器访问Oracle的那些事儿!
原文:http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 前言:1.不经历风雨,怎能见彩虹.2.充分利用BaiDu.google等搜索引擎查找资料 ...