iOS开发解决json串中的NSNull类型】的更多相关文章

后端返回的数据中总会出现一些NSNull类型,当我们一处理程序就会崩溃,因此想到把返回的数据中的NSNull类型全部转换成@""空字符串.下面是转化方法: 1 自定义的几个方法:放在NSDictionary类别中 #pragma mark - 私有方法 //将NSDictionary中的Null类型的项目转化成@"" +(NSDictionary *)nullDic:(NSDictionary *)myDic { NSArray *keyArr = [myDic a…
iOS解决json串中的NSNull类型   后端返回的数据中总会出现一些NSNull类型,当我们一处理程序就会崩溃,因此想到把返回的数据中的NSNull类型全部转换成@""空字符串.下面是转化方法: 1 自定义的几个方法:放在NSDictionary类别中 #pragma mark - 私有方法 //将NSDictionary中的Null类型的项目转化成@"" +(NSDictionary *)nullDic:(NSDictionary *)myDic { NSA…
开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之. 正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结构也算清晰,因为我一直以来都是代码看的多写的多,但是总结的比较少,知识经常不成体系.以后多花点时间把自己的经验和学习知识加以总结一下吧,这样有利于去指导新人,也更有利于加深自己的知识认知.今天就从代码规范入手总结一下iOS开发中好的编码规范吧.我们在开发中看别人的代码的时候经常会去抱怨至少内心里骂娘…
iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一.错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势. 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行程序,程序直接崩溃,报错如下: 说明:手势不会有superView方法,superView是UIView的方法,说明我们错误的把手势对象当成是UIView来用了. 调试查看出现问题的原因: 出现问题的原因: 说明:通过lastObject取出来的对象是手势,而不是xib,因此出现上面的错误. 把la…
iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https://github.com/HanGangAndHanMeimei/Code 一.使用for循环 要遍历字典.数组或者是集合,for循环是最简单也用的比较多的方法,示例如下: //普通的for循环遍历 -(void)iteratorWithFor { //////////处理数组////////// NS…
大家好,这篇博文中主要是介绍怎么用JMeter的BeanShell去获取复杂的JSON串中的某个参数的值,这将 便于我们用JMeter做出更完美的自动化测试: 首先有这样一个json串: { "code": 0, "data": { "2018720-0317": [{ "cpurl": "https://cdn.i5sesol.com/isesolImall/", "cxmc": &q…
iOS开发Swift篇—(五)元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let position = (x : 10.5, y : 20)  // position有2个元素,x.y是元素的名称 let person = (name : "jack")  // person只有name一个元素 let data = ()  // 空的元组 2.元素的访问 var positio…
解决spring配置中的bean类型的问题:BeanNotOfRequiredTypeException这个问题出现的原因:一般在使用annotation的方式注入spring的bean 出现的,具体是由于spring采用代理的机制导致的,看使用的代码: Java代码 1. 使用类注入: @Resource(name = "aisleService") private AisleService aisleService; 2. 使用接口注入: @Resource(name = &quo…
1.建表 -- 建表 drop table if exists ta_product2; CREATE TABLE ta_product2( id int primary key auto_increment, productCode ) comment '产品Code', productAttrJson text comment '产品json串' )engine=innodb; 2.插入数据 -- 插入数据 ','{\"saleAmount\":\"100\",…
在asp.net mvc后台返回到视图中的json数据中想对数据进行操作,发现日期类型无法直接进行操作,需要转换为指定格式才行.在网上也搜了下方法也很多,觉得有点麻烦,最终使用正则搞定了,分享下: var jsondate="/Date(1415169703000)/"; var formatdate=eval(jsondate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")); alert(formatdate.toL…
概述 JOSN是一种轻量级的数据格式,一般用于数据交互.服务器返回给客户端,一般都是JSON格式或者XML格式. JSON的格式: {"name" : "CoderHong", "age": "12"} {"names" : ["CoderHong", "Rose", "Jake"]} 标准的JSON格式建议使用key必须双引号,如果使用单引号有些…
Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotlight.集成Spotlight的App可以在Spotlight中搜索App的内容,并且通过内容打开相关页面.因为接到开发任务,老大说让在App中支持Spotlight, 于是又搞了搞苹果的官方文档.可以说,集成Spotlight不算复杂,官网上讲的也挺明白的,今天博客就通过一个Demo来集成一下Spotlight. 苹果官方有关C…
删除字典中的null 我们在处理数据库接口的过程中,如果数据中出现null,我们是没法处理的.我在使用NSUserDaults保存后,出现崩溃. null产生原因 null是后台在处理数据的时候,如果没有设置value值,数据库默认填充的值. 解决办法 数据库做处理 本地做删除null处理 本地做删除null处理 如果是数据库做处理的话,可以在数据库中,将未设置的value填充为" "即可. 如果是本地处理的话,我个人是通过添加类别来达到效果的. 代码如下: - (NSDictiona…
#import <UIKit/UIKit.h> @interface NameAndColorCellTableViewCell : UITableViewCell @property(copy,nonatomic) NSString *name; @property(copy,nonatomic) NSString *color; @end NameAndColorCellTableViewCell.h // // NameAndColorCellTableViewCell.m // Tab…
照着书上的Demo(iOS 5.0的教程),在- (void)viewDidLoad里设置scrollView的contentsize,让它大于屏幕的高度,却发现在模拟器中没用,还是不能滚.经过 一翻搜索,发现,这是因为iOS 6.0中新增的AutoLayout机制引起的,viewDidLoad后,AutoLayout会再一次把scrollView的 contentSize设为屏幕的宽高度,所以,我们的设置就无效了. 解决方法:把设置ContentSize的代码放到viewDidAppear里.…
如果使用 Newtonsoft Json 解析字符串,字符串里面有不清真的格式,那么默认的解析将会炸掉.如果想要自己解决字符串中的不清真格式,可以使用传入 JsonSerializerSettings 的方法 我写了一段字符串,里面需要解析为日期请看代码 @"[ '2009-09-09T00:00:00Z', '这是歪楼的', [ 1 ], '1977-02-20T00:00:00Z', null, '2000-12-01T00:00:00Z' ]" 小伙伴很快就可以看到,这里有一个歪…
该篇文章摘自我的新浪博客,原文地址为: http://blog.sina.com.cn/s/blog_dcc636350102wavx.html UITableView 拥有属于自己的点击事件,在将一个UITableView 的控件放在其它视图上, 并且其它视图需要添加手势进行操作的情况下,我们会发现我们点击UITableView的cell的时候, 并没有出发方法: -(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:…
前言 虽然在App中加入广告来盈利是比较低级的商业化方式,但对于个人开发者或者小团队开发者来说,做出一个简单易用的免费小工具(举个栗子),在里面加入一些广告,如果用的人多,也是可以带来一些可观的收入的.用户没有掏钱,得到了方便,开发者也得到了回报:) 我个人出于对金钱的考虑和对Google的信任,选择了AdMob这个平台来在App中投放广告(https://apps.admob.com 访问需要搭梯子,梯子为SS的用户最好全局代理,自动代理的话访问起来会很卡). 就目前来看,我果还是不太擅长移动…
用js中著名的eval函数var strJSON = "{name:'json name'}";//得到的JSONvar obj = eval( "(" + strJSON + ")" );//转换后的JSON对象alert(obj.name);//json name 需要注意的是,对象表达式{'name':'json name'}必须用“()”括住…
NSJSONSerialization 接下来就正式开始.苹果官方给出的解析方式是性能最优越的,虽然用起来稍显复杂. 首先我们在上面已经有了我希望得到的信息的网站的API给我们的URL,在OC中,我要加载一个NSURL对象,来向网站提交一个Request.到这里需要特别注意了,iOS9的时代已经来临,我们先前在旧版本中使用的某些类或者方法都已经被苹果官方弃用了.刚刚我们向网站提交了一个Request,在以往,我们是通过NSURLConnection中的sendSynchronousRequest…
我们在开发iOS客户端APP时,有时候会用到录音的功能,一般会使 AVAudioRecorder 这个类.如下面这样: @interface MyViewController : UIViewController<AVAudioRecorderDelegate> { AVAudioRecorder *recorder; NSURL *url; AVAudioPlayer *avPlay; } //初始化配置 - (void)audio { NSDictionary *recordSetting…
先将网页弄到iOS项目中: 网页内容如下, 仅供测试: <html> <head> <meta xmlns="http://www.w3.org/1999/xhtml" http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>这是一个示例html文件</title> <script Type='t…
接口测试时我们需要对某条信息进行修改,如我们先创建了一篇文章,然后进行修改操作 我们就需要找到该文章的唯一标志,如id 示例:我们要将下图返回的json 中id进行提取 注:可输入$.加需要的key即可查找对应的值($.代表根节点) 注:一般这种创建文章等登录后操作是需要先进行鉴权的 进行提取 以下为提取步骤: 使用后置处理器中的JSON Extractor(json提取器) 添加: 配置JSON Extractor(json提取器): remark:$代表根目录 添加一个Debug Sampl…
在用UICollectionView展示数据时,有时我们希望将cell的间距调成一个我们想要的值,然后查API可以看到有这么一个属性: - (CGFloat)minimumInteritemSpacing { return 0;} 然而很多情况下我们会发现,这样写不能满足我们的要求,cell之间仍然有一个不知道怎么产生的间距. 我们知道cell的间距是由cell的大小itemSize和section的缩进sectionInset共同决定的,通过这两个数据,UICollectionView动态地将…
Label中的文字添加点击事件 GitHub地址:https://github.com/lyb5834/YBAttributeTextTapAction 以前老师讲过类似的功能,自己懒得回头看了,找了很多第三方的,感觉这个小巧便利,作者只是扩展了分类,实现起来代码也少.先来个效果图 自己的项目,直接上代码 - (void)setTopicModel:(CYQTopicModel *)topicModel { _topicModel = topicModel; NSArray *likeArr =…
一.首先要搞清楚,tableView中有两种headerView,一个是tableHeaderView,另一个是headerView.前者就一个;后者根据session决定个数 headerView的循环利用跟cell的循环利用差不多,同样也可以注册,代码如下: 二.百思项目中,headerView只显示文字,但是只搞一个Label没法调整文字左边的间距.所以考虑包装一层view.进行了自定义headerView的封装,重写了headerView的 - (instancetype)initWit…
将Json存进本地文件夹   NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);    NSString *path=[paths objectAtIndex:0];    NSString *Json_path=[path stringByAppendingPathComponent:@"JsonFile.json"];    //==写入文件 …
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { // 1.URL NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/order"]; // 2.请求 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; // 3.请求方法 re…
先列举这个工程中用到的oc源码库: MBProgressHUD:半透明提示器,Loading动画等 SDWebImage:图片下载和缓存的库 MJRefresh: 下拉刷新,上拉加载 Alamofire.xcodeproj和SwiftyJSON.xcodeproj是Swift的库,这篇博客主要记录调用上面几个oc的库. 第一步:将oc的源码库拖入到我们的projec,如下图. 第二步:新建一个头文件,用于引用oc的库.如下图,选择 object library 中的 头文件,拖拽到project…
1.登陆开发者账号 2.选择itunes connect 选择我的app 3.选择要下架的app 4.价格与销售范围 5.销售范围 6.点击存储 //如果想要重新在AppStore中进行销售只需要选择在所有地区销售然后保存就行了.…