- 博客(23)
- 收藏
- 关注
原创 视图控制器
initWithNibName:bundle:初始化方法为指定的初始化方法,不管调用该类的哪一个初始化方法,该方法都会被调用- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [superinitWithNibName:nibNameOrNil
2014-08-31 20:18:59
588
原创 视图的捏合(缩放)
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ //如果只有一个手指触摸屏幕,则不处理捏合操作 if (1 == [touchescount]) { return; } NSArray *allTouches = [touche
2014-08-26 22:20:24
811
原创 frame,bounds的区别
1.frame:包含四个参数:(矩形区域左上角的x,y的坐标,矩形区域的宽和高),x,y是相对于父视图的坐标系原点的位置.2. bounds:包含四个参数: (矩形区域左上角的x,y坐标,矩形区域的宽和高),但是x,y是相对于自身坐标系的坐标原点的位置(默认的矩形区域左上角的点与自身坐标系的坐标原点重合)所以为啥x,y都是0.但是自身坐标系的原点位置是可以
2014-08-26 21:59:01
645
原创 触摸的target-action delegate设计思想的运用
目标:当点击一个类的视图对象的时候,做一些响应,点击该类不同的视图对象做出的响应不同而触发时机是点击该视图时,所以在- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event这个方法让代理去执行任务1.定义协议@classTouchView;//当定义协议的时候TouchView还没出现@prot
2014-08-26 20:57:07
650
原创 计算器的实现代码
#import "AppDelegate.h"@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ sel
2014-08-24 13:35:02
1126
原创 UILabel,UITextField,UIButton
//UIlabel是ios中开发用来显示文字的控件,是UIview的子类,所以具有UIview的所有功能,还具有了可以显示文字的功能 //UILabel使用过程和UIview类似,也是分四步: //1,创建对象 //2.配置属性 //3.添加到父视图 //释放所有权 //记住规律:不同的控件之间只是配置的属性的
2014-08-24 11:25:07
515
转载 UIView
UIView (视图)表示屏幕上的一块区域,在屏幕上看到的内容都是UIView的子类,UIView是一个基类,提供了关于视图的展示,管理,以及层级关系的基本功能 视图的使用分为四大部: 1.创建视图对象 2.配置属性(比如backgroundColor修改背景的颜色) 3.添加到父视图上 4,释放所有权
2014-08-20 08:38:22
422
原创 字面量(笑笑语法)
1.NSString *greeting = [NSStringstringWithUTF8String:"hello"]; NSString *greeting =@"hello"; 2.NSArray *array = [NSArray arrayWithObjects:a,b,c,nil]; NSArray *array =@[a,b,c];
2014-08-17 23:08:23
1052
原创 数组,字典,集合的关系
数组,字典,集合:这些集合类只能容纳cocoa对象(NSOjbect对象),都是大容器,如果想保存一些原始的C数据(例如,int, float, double, BOOL等),则需要将这些原始的C数据封装成NSNumber类型进行存储。NSNumber对象是cocoa对象,可以被保存在大容器中数组的价值: 1存储多个元素. 2存储的元素只能是对象
2014-08-17 20:18:17
1584
原创 内存管理高级
Teacher *tea = [[Teacher alloc]init];//0 -> 1(引用计数)// Student *stu = [[Student alloc]init];//0 -> 1(引用计数)// //stu.tea = tea;//内存直接赋值,引用计数不发生变化// //tea 和stu.tea都指向tea指向
2014-08-16 21:49:08
501
原创 NSMutableString
NSMutableString *str = [NSMutableStringstringWithFormat:@"lanouhenan"]; //对于可变字符串的增删改方法,都是在源字符串基础上进行修改,所以修改之后的字符串内容放生变化,所以无需返回值 //1.在字符串的基础上拼接Frank [strappendForm
2014-08-16 21:11:20
428
原创 NSNumber
1.定义基本数据类型变量 char a = 'f'; int b = 20; short c = 100; long d = 1000; float e = 10.23; double f = 100.222; BOOL isTrue
2014-08-16 20:56:11
444
原创 oc字典
//字典存在的价值1.大容器,用来存储多个数据 //2.用来存储的数据具有一一对应关系(使用key来标识value) //3.对于字典的一对键值对(key - value)叫做字典中的一个元素,也叫做一个条目,只要是对象就可以,不限限制类型 //字典是无序的 //5.字典中的key值是唯一的,一个key
2014-08-15 09:37:32
1088
原创 内存管理的精华透析
//当该类型的对象的引用计数为0时,系统会自动的调用该类的dealloc方法来回收空间,该方法是有系统自动调用,不能手动调用//验证对象空间有没有回收,只要查看该类的dealloc方法有没有执行即可
2014-08-14 19:21:38
428
原创 NSDate
//1.创建日期对象 //创建的NSDate对象获得的是0时区的时间,我们是东八区,在加8个小时// NSDate *date1 = [NSDate date];// NSLog(@"%@",date1);// //创建明天此时的日期,后一天e// //时间间隔是一秒为单位//
2014-08-13 10:50:18
522
原创 NSSet
1.创建集合对象 //(1)便利构造器 NSSet *set1 = [NSSetsetWithObjects:@"1",@"2",@"3",@"4",@"5",nil]; NSLog(@"%@",set1); //(2)初始化方法 NSSet *set2 = [[NSSeta
2014-08-12 22:30:15
462
原创 属性和setter以及getter
/** *setter方法的作用:为单一的实例变量赋值 setter 方法规范写法:-号方法,无返回值,名字以set开头 + 要设置的变量的实例变量名(首字母大写):(setter方法有且只有一个参数) + 参数的类型(和实例变量的类型相同) +参数名(和实例变量名相同(去掉了下划线)) (set方法可以设置多个变量,set不是setter) gette
2014-08-11 21:39:18
740
原创 NSArray
/数组的价值:(1)存储多个元素. //(2)存储的元素只能是对象,对象可以是不同类型的(3)数组是一个有序的集合 //(4)数组中的元素可以重复,而且重复的元素会成为数组中的元素 //1.创建数组对象 //arrayWithObjects 创建对象时可以指定多个元素,元素与元素之间用逗号间
2014-08-07 23:07:40
471
原创 NSMutableArray
1.创建数组对象 NSMutableArray *arr1 = [[NSMutableArray alloc]initWithObjects:@"aa",@"bb",@"cc",@"dd",@"ee",@"ff",nil]; //2.添加元素 //[arr1 addObject:@"Frank"]; //N
2014-08-07 22:55:39
532
原创 NSString常用函数
//创建对象 //两种方式 //(1)便利构造器(+号方法) // NSString *str1 = [NSString stringWithFormat:@"iPhone%d", 5]; // NSLog(@"%@", str1); //
2014-08-07 08:57:06
580
原创 继承的精华
//继承:当多个类出现部分相同的实例变量和方法时,就要考虑继承 //继承的使用:将多个类中相同的实例变量的方法提出来写成一个公共的父类
2014-08-05 22:14:24
455
原创 冒泡排序
//冒泡排序 //int b[5] = {15,18,30,27,7}; //第一趟排序比较四次,排序之后 15,18,27,7,30// for (int j = 0; j // if (b[j] > b[j + 1]) { //交换两个元素的值// // int m= b[j
2014-07-31 22:48:44
348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人