04 2016 档案

摘要:一、NSURLSession、NSURLSessionTask的使用步骤 首先创建NSURLSession对象 通过NSURLSession对象创建对应的任务 <1>NSURLSessionDataTask的GET和POST -- 以及url中包含了中文的解决办法 <2>NSURLSessionDo 阅读全文
posted @ 2016-04-30 23:45 Chaos_G 阅读(5603) 评论(0) 推荐(0)
摘要:一、NSFileHanle 使用注意点:在往文件写入数据时,必须创建一个空的文件 指定文件写入的方式 -- 覆盖还是追加 最后记得关闭 <1>代码是在大文件传输的练习中截取的。写入数据之前,创建空的文件,初始化NSFileHandle类 <2>设置文件的写入方式,(不设置写入方式,默认的是覆盖写入数 阅读全文
posted @ 2016-04-30 22:52 Chaos_G 阅读(2317) 评论(0) 推荐(0)
摘要:一、非cocoaPods方法,需要注意的是:直接将SSZipArchive拖入项目编译会报错。 Undefined symbols for architecture x86_64: "_crc32", referenced from: _unzReadCurrentFile in unzip.o _ 阅读全文
posted @ 2016-04-27 20:09 Chaos_G 阅读(1366) 评论(0) 推荐(0)
摘要:一、在解析json数据的时候,得到的集合对象或者数组对象在用%@打印的时候回出现类似乱码的情况。如图: 在iOS中打印字典或者数组对象,系统会默认调用字典对象和数组对象的descriptionWithLocale:方法。所以解决方案就是增加在.m文件中重写了两个descriptionWithLoca 阅读全文
posted @ 2016-04-27 14:20 Chaos_G 阅读(4636) 评论(0) 推荐(1)
摘要:XML的解析方式 SAX 大小文件都可以 NSXMLParser DOM 最好是小文件 GDataXML 大小文件都可以 NSXMLParser 最好是小文件 GDataXML NSXMLParser的用法 创建解析器来解析 代理对象要遵守NSXMLParserDelegate协议,实现代理方法 G 阅读全文
posted @ 2016-04-27 13:57 Chaos_G 阅读(205) 评论(0) 推荐(0)
摘要:JSON数据(NSData) -> OC对照表 {} -> NSDictionary @{} [] -> NSArray @[] "jack" -> NSString @"jack" 10 -> NSNumber @10 10.5 -> NSNumber @10.5 true -> NSNumber 阅读全文
posted @ 2016-04-27 13:45 Chaos_G 阅读(196) 评论(0) 推荐(0)
摘要:HTTP请求的常见方法 GET 所有参数拼接在URL后面,并且参数之间用&隔开 比如http://520it.com?name=123&pwd=345 传递了2个参数给服务器 name参数:123 pwd参数:345 没有请求体 一般用来查询数据 POST 所有参数都放在请求体中 一般用来修改、增加 阅读全文
posted @ 2016-04-26 16:15 Chaos_G 阅读(1141) 评论(0) 推荐(0)
摘要:一、URL 什么是URL URL中常见的协议 二、Http Http的基本通信过程 发送Http请求的方法 GET 和 POST 对比 GET 和 POST 的选择 三、iOS中的Http学习 iOS中发送Http请求的方案 Http请求过程 -- 请求 Http请求过程 -- 响应 阅读全文
posted @ 2016-04-26 16:03 Chaos_G 阅读(157) 评论(0) 推荐(0)
摘要:一、自己实现多图片下载应该注意的问题 沙盒缓存的问题 程序缓存的问题 cell重复利用显示图片混乱的问题 -- 用户拖拽快,下载图片慢导致的 解决图片混乱引入NSOperation集合的问题 资源下载失败的问题(练习中没有出现过,但是一定要考虑) 二、使用SDWebImage框架之后,上面所有的担心 阅读全文
posted @ 2016-04-25 20:29 Chaos_G 阅读(1532) 评论(0) 推荐(0)
摘要:一、ARC中实现单粒模式 在.m 保留一个全局的static的实例 static id _名称; 重写allocWithZone:方法,在这里创建唯一的实例 提供一个类方法让外界访问唯一的实例 实现copyWithZone:方法 -- 方法中直接返回static修饰的全局变量,copy是对象方法,所 阅读全文
posted @ 2016-04-25 20:13 Chaos_G 阅读(302) 评论(0) 推荐(0)
摘要:更换源 Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/)源来查找、安装、升级和写在软件包 gem sources --remove https://rubygems.org/ gem sources -a https://gems.ru 阅读全文
posted @ 2016-04-24 15:39 Chaos_G 阅读(235) 评论(0) 推荐(0)
摘要:一、NSOperation NSOperation和NSOperationQueue实现多线程的具体步骤 先将需要执行的操作封装到一个NSOperation对象中 然后将NSOperation对象添加到NSOperationQueue中 系统会自动将NSOperationQueue中的NSOpera 阅读全文
posted @ 2016-04-22 14:36 Chaos_G 阅读(847) 评论(0) 推荐(0)
摘要:一、GCD的基本使用 <1>GCD简介 什么是GCD 什么是GCD 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 全称是Grand Central Dispatch,可译为“牛逼的中枢调 阅读全文
posted @ 2016-04-21 15:04 Chaos_G 阅读(2355) 评论(0) 推荐(1)
摘要:控制台打印:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured 阅读全文
posted @ 2016-04-20 21:38 Chaos_G 阅读(181) 评论(0) 推荐(0)
摘要:一、iOS中的多线程 多线程的原理(之前多线程这块没好好学,之前对多线程的理解也是错误的,这里更正,好好学习这块) iOS中多线程的实现方案有以下几种 二、NSThread线程类的简单实用(直接上代码) 三、多线程的安全隐患 资源共享 资源共享 1块资源可能会被多个线程共享,也就是多个线程可能会访问 阅读全文
posted @ 2016-04-20 20:23 Chaos_G 阅读(597) 评论(0) 推荐(0)
摘要:注意:用UIScrollView时布局子控件的时候,不要相对于UIScrollView来添加约束,这样做不是设置子控件的位置,反而是设置了UIScrollView的contentSize 子控件的尺寸不能通过UIScrollView来计算,可以考虑通过以下方式计算 可以设置固定值(width == 阅读全文
posted @ 2016-04-19 14:36 Chaos_G 阅读(862) 评论(0) 推荐(0)
摘要:前言:在网易新闻的练习中遇到了这个错误 注意:练习中遇到了如图的bug,主要是因为用storyboard布局 600 * 600 显示的时候要经过自动布局,缩小到相应手机的屏幕大小。也就是有的尺寸要进行缩放。练习中自己取出的view是显示出来的尺寸375,而从storyboard中显示出来是在600 阅读全文
posted @ 2016-04-19 14:19 Chaos_G 阅读(371) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-04-19 14:14 Chaos_G 阅读(682) 评论(0) 推荐(0)
摘要:一、导航控制器的子类 作为导航控制器的子类,并且是导航控制器子类中的第一个,系统会默认给子控件添加EdgeInsert属性,把导航栏的宽度挤出来。但是系统只会默认修改第一个。 解决办法1:系统帮忙给第一个子控件添加了EdgeInsert,之后的子控件可以自己添加。 解决办法2:将系统默认的操作取消 阅读全文
posted @ 2016-04-19 14:04 Chaos_G 阅读(419) 评论(0) 推荐(0)
摘要:一、static作用 二、copy 阅读全文
posted @ 2016-04-17 17:00 Chaos_G 阅读(234) 评论(0) 推荐(0)
摘要:一、方法1:如图,图中的两个tableView分别交给两个控制器来管理 重点难点:categoryTableView被点击之后,subcategoryTableView要取得相应的数据进行刷新,所以subcategoryTableView要成为categoryTableView的代理。 在categ 阅读全文
posted @ 2016-04-17 16:49 Chaos_G 阅读(613) 评论(0) 推荐(0)
摘要:一、未经过处理的动画是这样的,自定义的导航按钮也一起跟着转起来了。 二、自己想要的效果 三、实现这种效果的思想:核心动画要添加到view的layer上面,刚开始的情况是讲核心动画添加到了整个大view的layer上面。为了实现想要的效果,就用一个view(下面叫contentView)将要做动画的v 阅读全文
posted @ 2016-04-17 16:24 Chaos_G 阅读(179) 评论(0) 推荐(0)
摘要:一、如图所示的界面,按钮One、Two、Three分别对应三个控制器的view,点击实现切换。个人感觉父子控制器的重点在于,控制器的view们之间建立了父子关系,控制器不建立的话,发生在view上面的事件,对应的view可能接收不到,控制器们建立了父子关系后,可以将事件传递给相应的控制器。 练习代码 阅读全文
posted @ 2016-04-17 16:09 Chaos_G 阅读(2322) 评论(0) 推荐(0)
摘要:一、初次读取json数据 二、KVC转模型技巧,这里的技巧主要解决的是字典中的key 与 模型中有的属性对应不起来的时候 的解决办法 <方法1> <方法2>运行时字典转模型,运行时自己一直很晕。不过还是整理下来,方便以后用。 这里直接创建了一个分类。 头文件代码 1 // 2 // NSObject 阅读全文
posted @ 2016-04-14 22:42 Chaos_G 阅读(367) 评论(0) 推荐(0)
摘要:事件背景:彩票项目中点击检查更新之后的操作,高斯模糊效果并弹出HUD 注意:在应用别人的框架的时候,最好封装一下下。 新建一个类 继承自高斯模糊的类。 使用方法:新建一个高斯模糊类的View,添加到主窗口 阅读全文
posted @ 2016-04-14 17:47 Chaos_G 阅读(335) 评论(0) 推荐(0)
摘要:一、我只想说封装的思想很重要,MVC的思想也很重要,利用MVC思想搭建一下的界面 先说显示出来的cell,有三种(图中的两种,还有一种是最普通的,没有图片的),这种显示不同的cell,交给模型来处理,模型中的数据决定了要显示的样式。 但是有考虑到功能的不一样,所以运用了面向对象的思想,同时继承自ce 阅读全文
posted @ 2016-04-14 17:26 Chaos_G 阅读(335) 评论(0) 推荐(0)
摘要:一、上次实现了在AppDelegate中通过判断app版本决定是否进入新特性页面,今天将AppDelegate中的一坨进行了封装。将self.window的根控制器到底应该为新特性界面,还是主页面,封装到了导航工具类ChaosGuideTool 封装,先决定外面怎么用,然后实现方法。外部通过类方法调 阅读全文
posted @ 2016-04-14 14:51 Chaos_G 阅读(358) 评论(0) 推荐(0)
摘要:一、新特性界面搭建的思路: 在AppDelegate加载主窗体的时候进行判断程序版本号,直接进入程序或者进入新特性展示界面 取出当前的版本号,与旧的版本号相比较(旧的版本号在进入程序的时候存起来 =》建议偏好设置存储) 版本号不一样,说明当前版本是新版本需要进入新特性介绍,并将版本号存下来 二、UI 阅读全文
posted @ 2016-04-11 18:28 Chaos_G 阅读(321) 评论(0) 推荐(0)
摘要:一、创建pch文件,默认跟项目同名 二、告诉系统,编译的时候要编译pch文件的步骤 三、把经常用到的宏 或者 分类 包含到这里 阅读全文
posted @ 2016-04-10 13:44 Chaos_G 阅读(297) 评论(0) 推荐(0)
摘要:一、竞技场搭建--UISegmentedControl的使用 二、搭建发现中的合买--storyboard和代码混合开发 重定义按钮,改变按钮中图片和label的顺序。layoutSubviews方法默认会调用两次,这样位置就会出现偏差,如图黄色框框为偏差 三、搭建发现中的幸运选号 --在story 阅读全文
posted @ 2016-04-10 13:27 Chaos_G 阅读(423) 评论(0) 推荐(0)
摘要:一、自定义蒙版--封装控件,先想好外界怎么来调用,根据外界调用的方法,然后进入内部实现 在外部,调用蒙版的方法--[ChaosCover show]; [ChaosCover hide]; 内部实现 二、封装活动菜单--在蒙版上显示,点击叉叉,动画形式消失在左上角 使用xib描述了活动菜单的内容 外 阅读全文
posted @ 2016-04-09 22:30 Chaos_G 阅读(358) 评论(0) 推荐(0)
摘要:首先要自定义按钮,并且实现如下方法,对,就是这么实现!! 阅读全文
posted @ 2016-04-07 14:57 Chaos_G 阅读(726) 评论(0) 推荐(0)
摘要:一、环境配置,和项目层次搭建 二、自定义TabBar 项目中TabBar中的导航按钮美工给的图片太大,图片中包含了图片和文字。最主要的是TabBar上面的按钮图片尺寸是有规定的,当高度大于44的时候,就不会显示了 解决办法:自定义TabBar,继承自UIView,给UIView设置相应个数的按钮,自 阅读全文
posted @ 2016-04-07 14:54 Chaos_G 阅读(400) 评论(0) 推荐(0)
摘要:一、CALayer UIView之所以能显示在屏幕上,完全是因为他内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘制,并且会将所有 阅读全文
posted @ 2016-04-05 21:21 Chaos_G 阅读(383) 评论(0) 推荐(0)
摘要:一、图片裁剪,示意图 二、带圆环的图片裁剪示意图 阅读全文
posted @ 2016-04-03 22:57 Chaos_G 阅读(328) 评论(0) 推荐(0)
摘要:一、给图片添加水印的基本步骤 手动创建位图上下文 绘制原生的图片 给原生的图片添加文字 生成一张图片给我们,从上下文中获取图片 关闭上下文 二、注意:位图上下文的获取方式跟layer上下文不一样。位图上下文需要我们手动创建 三、效果图 阅读全文
posted @ 2016-04-03 22:30 Chaos_G 阅读(202) 评论(0) 推荐(0)
摘要:一、Quartz2D使用须知 Quartz2D的API是纯C语言的 Quartz2D的API来自于Core Graphics框架 二、<1>通过原始的方法(C语言)绘制简单图形--了解 <2>OC也封装了绘制图形的框架UIKit(贝瑟尔路径)--掌握 三、自定义进度控件的练习,效果图 阅读全文
posted @ 2016-04-03 22:16 Chaos_G 阅读(218) 评论(0) 推荐(0)
摘要:iOS 3.2之后,苹果退出了手势识别功能(Gesture Recognizer),在触摸事件处理方面,大大简化了开发者的开发难度。 一、UIGestureRecognizer UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,使用它的子类才能处理具体的手势 UITapG 阅读全文
posted @ 2016-04-01 10:18 Chaos_G 阅读(305) 评论(0) 推荐(0)