- 博客(50)
- 收藏
- 关注

原创 iOS中tableview中headerview总保持在屏幕上方和随着屏幕滑动一起移动至消失
1 : tableview中headerview总保持在屏幕上方 : 在代理方法中创建view,并添加到headerview上l例子:- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ if ([self.title isEqualToString
2014-10-27 16:02:41
8789

转载 iOS开发 UI篇 — 懒加载
文顶顶iOS开发UI篇—懒加载1.懒加载基本懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化2.使用懒加载的好处:(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强(2)每个控件的getter
2014-09-26 21:08:23
616

转载 Block 在使用时应注意哪些会使内存泄露的地方?
本文主要是阐述一下Block中如何的使用外部变量以及block本身的内存管理。先定义一个block变量,作为后续的例子中使用:typedef void(^BlockCC)(void);BlockCC _block;1、block中引用外部变量block中可以直接使用外部的变量,比如 int number = 1;_block
2014-09-20 11:42:26
579

原创 结构化查询语句格式
数据库(DataBase):存放数据的仓库;存放的是一张一张的表,特别像Excel,都以表格形式存放数据,可以创建多张表 常见的数据库: sqlite ,access, MySQL,SqlServer, Oracle;为什么要用数据库; 1.文件读写,归档读取数据需要一次把数据全部读出来,占内存 2.数据库查找数据效率很高,体现在查找数据,数据修改(增删改
2014-09-19 20:31:57
1100

原创 为什么要用数据库
为什么要用数据库? 1.文件读写,归档读取数据需要一次把数据全部读出来,占内存 2.数据库查找数据效率很高,体现在查找数据,数据修改(增删改查)
2014-09-19 20:24:05
1028

原创 代码实现打开和关闭数据库
+ (sqlite3 *)openDB{ if (db == nil) { //获取Document文件的路径 //参数1:文件夹名字 参数2:查找域 参数3:是否使用绝对路径 NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
2014-09-19 20:04:07
967

原创 CAAnimationGroup 组动画
- (IBAction)pressCAAnimationGroup:(UIButton *)sender { //创建动画 CATransition *transition = [CATransition animation]; transition.duration = 2; //2.设置过渡样式 transition.type = kCATra
2014-09-18 20:59:42
716

原创 iOS 创建多线程的三种方法
(1)//通过NSObject的方法创建线程 //(这个方法会自动开辟一个后台线程,参数1:在这个后台线程中执行的方法,参数2:用于传递参数) [self performSelectorInBackground:@selector(banZhuanPlus) withObject:nil];(2)//通过NSThread创建线程(参数1:方法的执行者;参数2:在线程中执行的方法
2014-09-18 20:23:48
907

原创 iOS 同步POST
//创建post请求 //1.将网址初始化oc字符串对象 NSString *urlString = [NSString stringWithFormat:@"%@",kVideoURL]; //2.创建NSURL对象 NSURL *url = [NSURL URLWithString:urlString]; //3.创建请求 NSMutableUR
2014-09-18 20:15:16
458

原创 iOS 异步GET
//GET请求 //NSString *urlString = [NSString stringWithFormat:@"%@",kBusinessInfoURL]; NSString *urlString = @"http://image.zcool.com.cn/56/13/1308200901454.jpg"; NSString *newString = [urlSt
2014-09-18 20:15:04
404

原创 iOS中 线程问题要注意的两点内容
//线程中要注意的几点 //1:线程中的autorelease对象不能释放,必须手动释放或者添加自动释放池; //2:子线程中刷新UI会失败(在子线程中不要刷新UI) @autoreleasepool { for (int i = 0; i<1000; i++) { NSString *string = [NSString strin
2014-09-18 20:06:52
396

原创 iOS 单例
//第一种;(单线程)+ (id)sharePen{ static Pen *pen = nil; if (pen == nil) { pen = [[Pen alloc] init]; } return pen;}//第二种;+ (id)sharePen{ static Pen *pen = nil;
2014-09-18 19:20:17
758

原创 GCD之Apple推崇的多线程管理策略
//GCD:Grand Central Dispatch,大中央调度,是Apple推崇的多线程管理策略,是通过队列 对多线程进行管理 //第一种队列 //主调队列,在主线程中执行,并且是串行(一次操作一个) dispatch_queue_t mainQueue = dispatch_get_main_queue(); //第二种队列 //全局队列,
2014-09-18 19:08:06
485

原创 iOS 异步POST
//1.将网址初始化oc字符串对象 NSString *urlString = [NSString stringWithFormat:@"%@",kVideoURL]; //2.创建NSURL对象 NSURL *url = [NSURL URLWithString:urlString]; //3.创建请求 NSMutableURLRequest *reque
2014-09-15 21:09:06
583

原创 iOS当发生内存警告时的一些处理
//释放暂时不使用的内存,共当前程序使用.- (void)didReceiveMemoryWarning{ [superdidReceiveMemoryWarning]; // Dispose of any resources that can be recreated. //当收到内存警告时,移除当前没有在屏幕上显示的视图.
2014-08-30 21:05:54
528

原创 iOS 碰撞检测以及事件响应
*///碰撞检测//碰撞检测de过程//碰撞检测//碰撞检测//碰撞检测//UIApplication-> UIWindow-> UIController-> 视图控制器view-> 父视图 ->子视图//事件响应//事件响应de过程//事件响应//事件响应//事件响应//反方向处理;UIAppli
2014-08-30 20:24:04
1243

原创 iOS代码截图
//代码截屏 //(1)设置要截屏 的图片大小 UIGraphicsBeginImageContext(self.view.frame.size);//view.frame.size //(2)设置对哪个图片截图固定大小的图片 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
2014-08-30 19:44:11
445

转载 函数心得
浅谈函数应用函数存在的意义: 把main函数中复杂的逻辑进行拆分,由一个一个单独的函数来处理一个单独的模块,main函数只是起到宏观调控作用我们可以自己编写一些函数,实现某些功能,把函数的声明放在.h文件里,把函数的定义即实现放在.m文件里,然后在main.m文件里的main函数里调用实现,但是调用之前一定不要忘记把自己写的文件导入即导入头文件,导入自己编写的头文件用#impor
2014-08-17 23:01:27
478

原创 OC ,自定义方法:逆序打印数组
main.m //第一种// NSArray *arr1 = @[@"gg", @"bb", @"cc", @"dd", @"ee"];// NSLog(@"%@",[[arr1 reverseObjectEnumerator] allObjects]);
2014-08-14 22:49:01
805

原创 Memory Management of primary
***自己每开辟一次空间,自己要对其(自己开辟的)进行释放;对引用计数+1,相应的也要对引用计数-1;不必管系统对空间的操作,系统会对其进行处理.1.能让引用计数改变的五个方法(1)+alloc开辟内存空间,将对象的引用计数+1(2)-retain将对象的引用计数+1(3)copy(4)release将对象的引用计数立即-1(5)autorelease将对象的引用计数-1(
2014-08-14 22:01:55
431

原创 NSArray NSMutaleArray NSNumber小总结
数组的价值:(1)存储多个元素 (2)存储元素只能是对象,对象可以是不同类型.(3)数组是一个有序的集合
2014-08-08 13:00:20
552

转载 NSString NSMutableString 小总结
1.数组的价值:存储多个元素. (2)存储的元素只能是对象,对象可以是不同类型的. (3)数组是一个有序的集合. (4)数组中的元素可以重复,而且重复的对象会成为数组元素. 创建数组对象,1.1使用便利构造器:关键词arrayWithObjectsarrayWithObjects 创建对象时可以指定多个对象元素,元素与元素之间通过逗号进行间隔.nil 作为数
2014-08-07 23:10:49
387

原创 输入3个学员的姓名,动态分配内存保存学员姓名,并在最后输出.
(1)从控制台输入的字符串如何存储? 解决方案:定义一个字符数组接收输入的字符串. (2)如何动态为学员姓名开辟空间? 解决方案:计算出字符串的长度加 1. (3)如何存储为3个学员开辟空间之后的地址? 解决方案:使用指针数组来进行存储地址,数组中有三个元素. char tempStr[20] ={0};//存储从控制台输入的字符串 char
2014-08-03 21:24:24
869

原创 3 定义两个整型指针,分别用malloc、calloc对其分配空间保存3个元素,malloc分配的空间用memset清零,随机对数组进行赋值随机范围1-3,赋值后用memcmp比较两个数组。如果相同
3 定义两个整型指针,分别用malloc、calloc对其分配空间保存3个元素,malloc分配的空间用memset清零,随机对数组进行赋值随机范围1-3,赋值后用memcmp比较两个数组。如果相同打印Good!否则打印Failed... int *p1 = NULL; int *p2 = NULL; p1 = malloc(sizeof(int)*3); p1 =
2014-07-30 11:15:01
616

原创 2、有一段文本,将文本中的所有单词,存放到一个字符指针数组中(要求每个单词内存恰好)。
//1,如何存储文本 //2,如何识别一个单词 //3,如何动态计算开辟空间的大小 //4,如何存储地址?(指针数组) char str[] =" Pay attention to oral hygiene, and the good hygienic habit. Stick to to get up early and brush your
2014-07-30 11:10:16
849

原创 1,随机一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值
1、输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值 int *p = malloc(40);int max =0 ; for (int i =0 ; i < 10; i++) { *(p+i) = arc4random()%21+20; printf("%d ",*(p+i)); } printf("\
2014-07-30 10:10:35
855
转载 tableviewcell的一些基本知识点
[cpp] view plaincopy1.系统默认的颜色设置 [cpp] view plaincopy//无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = U
2014-11-23 00:07:46
521
原创 XMPP服务器环境的搭建
按照发给大家的xmpp, 把四个dmg给分别按次序安装上去step 1: 安装JAVA, 可以在系统编号设置里面看到step 2:安装open fire, 安装好之后, ,要看看是否已经running(绿色字体)step 3:安装spark, 之后关闭, 在最后所有步奏完成之后, 登录就行了. step 4:安装xampp-os, 和设置绿鸭子差不多. 主要是
2014-11-06 23:05:05
549
原创 iOS 系统框架
iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。 自下而上 1、Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为a
2014-10-20 14:35:36
908
转载 2、 类变量@protected ,@private,@public,@package,声明各有什么含义?
通过->的方式访问成员变量@protected受保护的.该类和所有子类中的方法可以直接访问这样的变量。@private 变量私有的,该类的方法可以直接访问变量。@public 所有类都可以访问@package 表示框架内访问,外部无法访问
2014-10-18 16:21:11
492
原创 KVC and KVO
KVC 与 KVO 理解On 2012 年 6 月 7 日, in iPhone, by donly KVC 与 KVO 是 Objective C 的关键概念,个人认为必须理解的东西,下面是实例讲解。Key-Value Coding (KVC)KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性
2014-10-14 09:33:02
745
原创 封装数据库查询学生信息(的增删查改)的方法
紧接上一篇的文章内容(调用其打开和关闭数据库的方法)//查询所有学生+ (NSMutableArray *)getAllStudents;//查询单个学生+ (Student *)getStudentWithID:(NSInteger)aID;//添加一个学生+ (BOOL)insertStudent:(Student *)aStudent;//修改一个学生Name
2014-09-19 20:16:25
1549
原创 CATransition过渡动画
- (IBAction)pressTransition:(UIButton *)sender { //创建动画 CATransition *transition = [CATransition animation]; transition.duration = 2; //2.设置过渡样式 transition.type = kCATransitionReve
2014-09-18 20:58:38
462
原创 CAKeyFrameAnimation关键帧动画
- (IBAction)pressKeyAnimation:(UIButton *)sender {// //1.创建动画// CAKeyframeAnimation *keyFrame = [CAKeyframeAnimation animationWithKeyPath:@"bounds"];// keyFrame.duration = 3;////
2014-09-18 20:57:15
746
原创 iOS 属性动画的一个分类:CABasicAnimation 基本动画(没有真正修改属性值)
- (IBAction)pressBasicAnimation:(UIButton *)sender { //1.创建并指定修改的属性 //KeyPath :CALayer的属性名,不是所有的属性都可以,只有在头文件中出现animatable的属性才可以;// CABasicAnimation *basic = [CABasicAnimation animationWith
2014-09-18 20:53:58
1180
原创 UIView过渡动画
//UIView过渡动画- (IBAction)pressTransitionAnimation:(UIButton *)sender { self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1.png"]]; NSLog(@"0.0.0.0.0.%@",self.imageVi
2014-09-18 20:41:16
477
原创 Block动画
//参数1:改变的view 参数2:动画时长 参数3:动画类型 参数4: [UIView transitionWithView:self.changeView duration:1 options:UIViewAnimationOptionTransitionFlipFromRight animations:^{ self.changeView.backgroundCo
2014-09-18 20:40:51
394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人