<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ideas press的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ideaspress</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ideaspress]]></copyright><item><title><![CDATA[UICollectionView与UITableView在复用时，数据重叠问题]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/54139998</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/54139998</guid><author>ideaspress</author><pubDate>Fri, 06 Jan 2017 17:03:16 +0800</pubDate><description><![CDATA[在进行了cell的复用后，如果要避免出现数据重叠，图片错乱的问题，首先要注意，cell中Label、Button、ImageView等的创建要放在初始化方法里面，tableViewCell的初始化方法是
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    s]]></description><category></category></item><item><title><![CDATA[当前日期与制定日期的比较]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/53667681</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/53667681</guid><author>ideaspress</author><pubDate>Thu, 15 Dec 2016 11:14:29 +0800</pubDate><description><![CDATA[1、首先获取当前日期NSDate形式，指定一个日期格式#pragma mark -得到当前时间  
- (NSDate *)getCurrentTime{  
    NSDateFormatter *formatter=[[NSDateFormatter alloc]init];  
    [formatter setDateFormat:@"dd-MM-yyyy-HHmmss"];]]></description><category></category></item><item><title><![CDATA[Core Animation简介]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/53114625</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/53114625</guid><author>ideaspress</author><pubDate>Thu, 10 Nov 2016 12:37:13 +0800</pubDate><description><![CDATA[之前介绍了UIView动画的使用，UIView可以实现一般动画，但是更为复杂的动画，需要用core animation 
core animation基于openGL 和 core graphics。Core Animation是一套包含图形绘制、投影、动画的Objective-C类集合，该框架包含在QuartzCore.framework中，它因为被用于处理更为强大的平滑的转场效果而引入OS X]]></description><category></category></item><item><title><![CDATA[UITableView自动计算cell高度并缓存]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52923029</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52923029</guid><author>ideaspress</author><pubDate>Tue, 25 Oct 2016 15:31:50 +0800</pubDate><description><![CDATA[一.自动计算高度： 
在iOS8之前，如果UITableViewCell的高度是动态的，如果想要显示正确的话，我们需要在下面这个UITableView的代理方法中，返回每一行的精确高度：- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
如果cell的控件很多，]]></description><category></category></item><item><title><![CDATA[iOS UIWebView 通过 cookie 完成自动登录验证]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52892206</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52892206</guid><author>ideaspress</author><pubDate>Sat, 22 Oct 2016 14:42:45 +0800</pubDate><description><![CDATA[说明： 
通过UIWebView登录后，会自动得到web服务器设置的cookie包括服务器中的seesionid。 
cookie不会自动保存在app里面，需要通过设置才能在下次启动app时获取。 
自动登录，需要设置header，才能将cookie带给web服务器。 
自动登录，需要web服务器端进行cookie验证方可登录。 
实现流程：
做好Sign in页面后，通过get或post递交表单给]]></description><category></category></item><item><title><![CDATA[Cookie和Session 区别]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52884257</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52884257</guid><author>ideaspress</author><pubDate>Fri, 21 Oct 2016 15:51:04 +0800</pubDate><description><![CDATA[二者的定义：当你在浏览网站的时候，WEB 服务器会先送一小小资料放在你的计算机上，Cookie 会帮你在网站上所打的文字或是一些选择，都纪录下来。当下次你再光临同一个网站，WEB 服务器会先看看有没有它上次留下的 Cookie 资料，有的话，就会依据 Cookie里的内容来判断使用者，送出特定的网页内容给你。 Cookie 的使用很普遍，许多有提供个人化服务的网站，都是利用 Cookie来辨认使用者]]></description><category></category></item><item><title><![CDATA[Cookie简介]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52883790</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52883790</guid><author>ideaspress</author><pubDate>Fri, 21 Oct 2016 15:30:12 +0800</pubDate><description><![CDATA[一、何为Cookie 
Cookie是网站为了便是终端身份，保存在终端本地的用户凭证信息。Cookie中的字段与意义由服务端进行定义。例如，当用户在某个网站进行了登录操作后，服务端会将Cookie信息返回给终端，终端会将这些信息进行保存，在下一次再次访问这个网站时，终端会将保存的Cookie信息一并发送到服务端，服务端根据Cookie信息是否有效来判断此用户是否可以自动登录。二、iOS中进行Cook]]></description><category></category></item><item><title><![CDATA[FMDB简单介绍]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52398135</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52398135</guid><author>ideaspress</author><pubDate>Thu, 01 Sep 2016 12:13:55 +0800</pubDate><description><![CDATA[上篇文章讲解了Sqlite但是sql书写起来比较麻烦，尤其是其它语言转过来的程序员会感觉吃力，于是，就出现了一系列将SQLite API进行封装的库，例如FMDB、 PlausibleDatabase、SQLitepersistentobjects等， FMDB是一款简洁、易用的封装库，这一篇文章简单介绍下FMDB的使用。
一.  FMDB的优点： 
    1.使用起来更加面向对象，省去了很多麻烦]]></description><category></category></item><item><title><![CDATA[枚举类型 enum,NS_ENUM,NS_OPTIONS]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52370275</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52370275</guid><author>ideaspress</author><pubDate>Tue, 30 Aug 2016 16:08:44 +0800</pubDate><description><![CDATA[枚举值一般是4个字节的int值，在64位系统上是8个字节。 
在iOS6和Mac OS 10.8以后Apple引入了两个宏来重新定义这两个枚举类型，实际上是将enum定义和typedef合二为一，并且采用不同的宏来从代码角度来区分。 
NS_OPTIONS一般用来定义位移相关操作的枚举值，我们可以参考UIKit.Framework的头文件，可以看到大量的枚举定义。enum建议使用 NS_ENUM 和]]></description><category></category></item><item><title><![CDATA[SQLite（数据库）简析]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52276768</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52276768</guid><author>ideaspress</author><pubDate>Mon, 22 Aug 2016 14:47:47 +0800</pubDate><description><![CDATA[1.// 使用前需要引入 注意是<>括号，不是双引号#import <sqlite3.h>2、sqlite 的方法 
sqlite3          *db, 数据库句柄，跟文件句柄FILE很类似 
sqlite3_stmt      *stmt, 这个相当于ODBC的Command对象，用于保存编译好的SQL语句 
sqlite3_open(),   打开数据库，没有数据库时创建。 
sqlit]]></description><category></category></item><item><title><![CDATA[数据持久化]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52276709</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52276709</guid><author>ideaspress</author><pubDate>Mon, 22 Aug 2016 14:43:53 +0800</pubDate><description><![CDATA[1.为什么要进行数据持久化？ 
    我们平时的浏览记录，qq的聊天记录，收藏夹等，每次打开程序的视乎都会存在，理论上每次关闭应用的时候，程序中使用的数据资源都应该被释放，将程序运行过程中或运行结束后的某些信息持久的保存起来就是数据持久化。2:什么是数据持久化 
    将数据模型转换成存储模型(内存中某些对象保存到磁盘中)3:数据持久化的优点 
    就是将数据持久话的保存起来，不会丢失4.数]]></description><category></category></item><item><title><![CDATA[RunLoop浅析]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52219123</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52219123</guid><author>ideaspress</author><pubDate>Tue, 16 Aug 2016 11:50:34 +0800</pubDate><description><![CDATA[1.RunLoop简介 
当有持续的异步任务需求时，我们会创建一个独立的生命周期可控的线程。RunLoop就是控制线程生命周期并接收事件进行处理的机制。RunLoop是iOS事件响应与任务处理最核心的机制，它贯穿iOS整个系统。通过RunLoop机制实现省电，流畅，响应速度快，用户体验好1.使程序一直运行并接受用户输入 
2.决定程序在何时应该处理哪些Event 
3.调用解耦 
4.节省CPU时间]]></description><category></category></item><item><title><![CDATA[内存管理（二）借助工具解决内存问题]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52184817</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52184817</guid><author>ideaspress</author><pubDate>Thu, 11 Aug 2016 17:29:42 +0800</pubDate><description><![CDATA[本文转载自http://www.youkuaiyun.com/article/1970-01-01/2826272 
先下载转载文章中的实例MemoryProblems。1.悬挂指针问题悬挂指针（Dangling Pointer）就是当指针指向的对象已经释放或回收后，但没有对指针做任何修改（一般来说，将它指向空指针），而是仍然指向原来已经回收的地址。如果指针指向的对象已经释放，但仍然使用，那么就会导致程序Cra]]></description><category></category></item><item><title><![CDATA[内存管理（一）：基本概念与原理]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52183840</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52183840</guid><author>ideaspress</author><pubDate>Thu, 11 Aug 2016 16:24:03 +0800</pubDate><description><![CDATA[在Objective-C的内存管理中，其实就是引用计数（reference count）的管理。内存管理就是在程序需要时程序员分配一段内存空间，而当使用完之后将它释放。如果程序员对内存资源使用不当，有时不仅会造成内存资源浪费，甚至会导致程序crach。 
1:什么是内存管理 
        ①移动设备内存是有限，每个应用的内存也是有限 
        ②当应用程序所占用的内存较多时，系统会发出警]]></description><category></category></item><item><title><![CDATA[MVC与MVVM]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/52153793</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/52153793</guid><author>ideaspress</author><pubDate>Mon, 08 Aug 2016 17:21:45 +0800</pubDate><description><![CDATA[mvc是最常见的软件架构之一，本文主要简单介绍下mvc和MVVM的架构的区别。 
     在MVC里，View是可以直接访问Model的！从而，View里会包含Model信息，不可避免的还要包括一些业务逻辑。 MVC模型关注的是Model的不变，所以，在MVC模型里，Model不依赖于View，但是 View是依赖于Model的。不仅如此，因为有一些业务逻辑在View里实现了，导致要更改View也]]></description><category></category></item><item><title><![CDATA[const（常量）与define（宏）的正确使用]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/51605059</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/51605059</guid><author>ideaspress</author><pubDate>Tue, 07 Jun 2016 16:58:09 +0800</pubDate><description><![CDATA[一.首先介绍下const与宏的区别，这也是面试中经常问到的问题： 
const简介：之前常用的字符串常量，一般是抽成宏，但是苹果不推荐我们抽成宏，推荐我们使用const常量。编译时刻：宏是预编译（编译之前处理），const是编译阶段。编译检查：宏不做检查，不会报编译错误，只是替换，const会编译检查，会报编译错误。宏的好处：宏能定义一些函数，方法。 const不能。宏的坏处：使用大量宏，容易造成编]]></description><category></category></item><item><title><![CDATA[static的使用]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/51602341</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/51602341</guid><author>ideaspress</author><pubDate>Tue, 07 Jun 2016 11:12:02 +0800</pubDate><description><![CDATA[static作用:（1）函数体内 static 变量的作用范围为该函数体，不同于 auto 变量，该变量的内存只被分配一次，  因此其值在下次调用时仍维持上次的值；（比如在cell的重用标志中用static来修饰字符串，原因是：使用static会将字符串放到静态区，程序运行过程中，只会初始化一次，作为cell的重用标识一般使用static修饰，确保能是cell进行重用） （2）在模块内的 stati]]></description><category></category></item><item><title><![CDATA[extern的使用]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/51597250</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/51597250</guid><author>ideaspress</author><pubDate>Mon, 06 Jun 2016 17:59:30 +0800</pubDate><description><![CDATA[extern作用: 
只是用来获取全局变量(包括全局静态变量)的值，不能用于定义变量extern工作原理: 
先在当前文件查找有没有全局变量，没有找到，才会去其他文件查找。 
使用方法： 
在viewController中定义的方法为：#import "ViewController.h"**//NSString* hello = @"helloworld"** ;//定义在这个地方和@impleme]]></description><category></category></item><item><title><![CDATA[多线程]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/51580347</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/51580347</guid><author>ideaspress</author><pubDate>Fri, 03 Jun 2016 17:11:44 +0800</pubDate><description><![CDATA[iOS有三种多线程编程的技术，分别是： 
（一）NSThread 
（二）Cocoa NSOperation 
（三）GCD（全称：Grand Central Dispatch）这三种编程方式从上到下，抽象度层次是从低到高的，抽象度越高的使用越简单，也是Apple最推荐使用的。三种方式的优缺点介绍： 
1）NSThread: 
优点：NSThread 比其他两个轻量级 
缺点：需要自己管理线程的生命]]></description><category></category></item><item><title><![CDATA[进程、线程及多进程多线程简介]]></title><link>https://blog.youkuaiyun.com/ideaspress/article/details/51579268</link><guid>https://blog.youkuaiyun.com/ideaspress/article/details/51579268</guid><author>ideaspress</author><pubDate>Fri, 03 Jun 2016 15:27:11 +0800</pubDate><description><![CDATA[首先简单介绍下概念:进程：是CPU独立运行和独立调度的基本单位，是一个正在执行的程序，计算机中正在运行的程序实例，是系统资源分配和调度的一个独立单位，可以分配给处理器并由处理器执行的一个实体。进程拥有自己独立的位置空间，在没有经过进程本身允许的情况下，其他进程不能访问改进程的地址空间。线程：是进程的一部分，它是进程中用来执行任务的单位。一个进程可以拥有多个线程，但最少要有一个主线程；每个线程不能独立]]></description><category></category></item></channel></rss>