摘要: 一、单例模式特点:单例模式的类必须保证始终只有一个实例存在。场景:在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次),应该让这个类创建出来的对象永远只有一个。二、单例类的构建1:为你的单例类声明一个静态的实例,并且初始化它的值为nil。2:在获取实例的方法中,只有在静态实例为nil的时候... 阅读全文
posted @ 2015-03-07 17:07 红红de 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 系统的 UIScrollView 就有多点触摸改变图片的大小的功能,如果在向添加别的触摸事件,如这次讲到的双击图片大小就可以自定义一个 scrollView,当然,这个 scrollView 是继承自系统的 UIScrollView 的,这样,它仍然具有系统 scrollView 的特性,另外,可以... 阅读全文
posted @ 2015-01-28 23:14 红红de 阅读(430) 评论(1) 推荐(0) 编辑
摘要: 什么是循环引用简单来说,循环引用就是:A 保留了 B, B 保留了 A, 造成 A 和 B 都不能被释放。id 为什么是 assign 而不是 retain从文章标题大概也能猜到, id 是 assign 而不是 retain 的原因是跟你循环引用有关系了。原因也确实如此。id 之所以是 assig... 阅读全文
posted @ 2015-01-24 16:06 红红de 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 下载 FMDB1. 引进 sqlite3 工具箱,在要进行数据库操作的类里引进头文件 : 因为第三方软件同样是使用 sqlite 工具箱来操作数据库的,只不过是简化了操作,让语法更接近 OC 的语法, 而不需要使用过多的 C 语法;#import 2. 将第三方库加载进工程:方法是直接将 FMDB ... 阅读全文
posted @ 2015-01-16 22:59 红红de 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 使用步骤1. 引入头文件:在工程的 Build Phases 下将要用到的 frameworks 和 libraries 添加。下图中我已经将要用的 sqlite3 添加到工程。2. 指定数据库存储路径:数据库一般都是存储在沙盒根目录下地 Documents 文件夹下,在指定路径的时候,要将数据库的... 阅读全文
posted @ 2015-01-16 22:38 红红de 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 自定义单元格如果是使用 IB 方式创建的,则需要手动加载,因为 XIB 上的 cell 不会自动加载第一种:使用应用程序束应用程序束 NSBundle:获得工程中所有的资源的路径,相当于当前工程的目录。//获得指定的xib中所有的视图NSArray * array = [[NSBundle main... 阅读全文
posted @ 2015-01-11 13:08 红红de 阅读(526) 评论(0) 推荐(1) 编辑
摘要: 1. 最常用的方法- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [tableView d... 阅读全文
posted @ 2015-01-11 13:01 红红de 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 一个地球围绕太阳旋转 1 #import "HUAppDelegate.h" 2 3 #define CENTER_X 160 4 #define CENTER_Y 240 5 #define RADIUS 130 6 7 @implementation HUAppDelegate 8 9 -... 阅读全文
posted @ 2015-01-03 22:48 红红de 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 简单地演示效果,直接在入口类实现- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[UIWin... 阅读全文
posted @ 2014-12-28 20:09 红红de 阅读(276) 评论(0) 推荐(0) 编辑
摘要: @implementation CalendarByDicViewController- (void)viewDidLoad{ [super viewDidLoad]; self.view.backgroundColor = [UIColor colorWithRed:0.93 ... 阅读全文
posted @ 2014-12-27 21:39 红红de 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 这是一个类似于 QQ 界面下拉刷新的效果,界面以一张图片代替,主体代码很简单- (void)viewDidLoad{ [super viewDidLoad]; _imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0,... 阅读全文
posted @ 2014-12-27 20:33 红红de 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 1 #import "HUAppDelegate.h" 2 3 @implementation HUAppDelegate 4 5 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(N... 阅读全文
posted @ 2014-12-17 21:37 红红de 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 1 #import "HUAppDelegate.h" 2 3 @implementation HUAppDelegate 4 5 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(N... 阅读全文
posted @ 2014-12-17 21:09 红红de 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 1.UIView 动画可以传递参数的地方有三个:1 + (void)beginAnimations:(NSString *)animationID context:(void *)context2 3 + (void)setAnimationWillStartSelector:(SEL)sel... 阅读全文
posted @ 2014-12-17 20:34 红红de 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 首先是使用定时器制作的火焰动画效果 1 #import "FireViewController.h" 2 3 @implementation FireViewController 4 5 - (void)viewDidLoad 6 { 7 [super viewDidLoad]; 8 ... 阅读全文
posted @ 2014-12-17 19:42 红红de 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 动画的反转执行与否与放置的位置有关。若放在动画对象动画动作之前,则执行,否则不执行。 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2]; [UIView setAnimationRep... 阅读全文
posted @ 2014-12-16 20:16 红红de 阅读(270) 评论(0) 推荐(0) 编辑
摘要: C语言中字符串末尾有一个结束符 \0, 占一个位置,所以在以字符数组表示字符串时,其的实际长度为声明长度 - 1,所以在使用过程中要注意数组越界。 1 #include 2 #include 3 4 int main() 5 { 6 char name[8] = "itcasasa"... 阅读全文
posted @ 2014-12-14 21:23 红红de 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1.scanf一次性 输入多个数据时,并且以某些符号隔开scanf("%d, %d", &num1, &num2); //此时输入两个数据时中间必须以, 作为分隔符,即分隔符必须对应2.如果 scanf 参数中以空格隔开,实际输入可以以空格、tab、回车作为分隔符scanf("%d %d", ... 阅读全文
posted @ 2014-12-14 20:34 红红de 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 一 #define 宏定义1. 宏基本定义 #define 宏名 宏定义字符串# 表示它在预编译处理中起作用,而不是真正的 C 语句,行尾无须跟分号,如果加了分号,分号作为宏定义的一部分。宏名常采用大写字母,宏名与定义字符串间用空格分隔,所以宏名之间不能有空格。宏定义字符串是宏名对应的具体实现过程,... 阅读全文
posted @ 2014-12-13 12:18 红红de 阅读(2467) 评论(0) 推荐(0) 编辑
摘要: 一 自动类型转换1. 非赋值运算的类型转换 水平方向的转换:所有的 char, short 型自动转换成 int 型,左右的 unsigned short 型自动转换成 unsigned 型,所有的 long 型自动转换成 unsigned long 型,所有的 float 型自动转换成 doubl... 阅读全文
posted @ 2014-12-13 10:58 红红de 阅读(397) 评论(0) 推荐(0) 编辑