- 博客(22)
- 收藏
- 关注
转载 触摸事件UITouch的用法
触摸屏幕是iOS设备接受用户输入的主要方式,包括单击、双击、拨动以及多点触摸等,这些操作都会产生触摸事件。在Cocoa中,代表触摸对象的类是UITouch。当用户触摸屏幕后,就会产生相应的事件,所有相关的UITouch对象都被包装在事件中,被程序交由特定的对象来处理。UITouch对象直接包括触摸的详细信息。UITouch类中包含5个属性: window:
2015-11-07 10:56:00 348
原创 简单图书管理实现
@interface Book : NSObject{ NSString *_name; CGFloat _price;}//setter- (void)setName:(NSString *)name;- (void)setPrice:(CGFloat)price;//getter- (NSString *)getName;- (CGFloat)getPrice;
2015-10-20 19:46:31 430
原创 OC第三天 继承总结
子类继承父类的所有实例变量和方法一个子类只能有一一个父类,一个父类可以有多个子类子类中不能重定义父类已有的实例变量,但是可以重写父类已有的方法,也可以增加自己的方法.对象的继承特性可以简化代码,提高效率//初始化方法: 方法名init+首字母大写的with以及实例变量参数, 返回值类型为id泛型,返回self子类往往拥有父类没有的实例变量, 在初始化的时候父类的初始化方法不能满
2015-10-17 09:47:17 381
原创 回调函数 ----剖析
被调函数自己实现功能, 供调用函数使用函数名是访问函数的地址回调函数中 函数名 作为参数,指向不同的函数实现不同的功能函数指针定义例int (*)(int, int )表示一个函数指针的类型int (*p)(int, int ) 表示定义一个函数指针变量 ,变量名为 ptypedef int (*PFUN)(int, int ) 表示将 int (*)(int, int
2015-10-11 10:26:30 289
原创 OC第九天 内存管理
影响引用计数的方法: +alloc -retain -copy -release -autorelease+alloc: 开辟内存空间, 让被开辟的内存空间的引用计数由 0 +1-retain: 引用计数+1-copy: 把某一内存区域的内容拷贝一份, 拷贝到新的内存空间里区, 被拷贝区域的引用计数不变, 新的内存区域的引用计数为1-release
2015-10-28 20:50:57 278
原创 OC第八天 — 属性, 属性的属性, 点语法, KVC
1.属性 格式: .h中@property (属性的属性) 类型 属性名 .m中@synthesize name = _name;可以省略(name为实例变量) 属性的类型与实例变量的类型一致 属性名与操作的实例变量名一致 属性为实例变量提供了setter, getter方法的默认实现. 当让系统自动生成setter
2015-10-23 22:13:12 332
原创 OC第七天 --- NSDate Category Extension Protocol
Date//创建一个NSDate类型的对象,创建的NSDate对象获取到的是零时区的时间 NSDate *date = [NSDate date]; NSLog(@"%@", date); //通过某一时间获取另一时间 //看似能够获得东八区的时间,其实还是根据零时区的时间推算的. NSDate *BJdate = [N
2015-10-22 21:07:24 277
原创 NSString, NSMutableString, NSNumber----OC第四天
OC字符串类:NSString—>不可变字符串1.创建字符串对象: 1)使用初始化方法: NSString *str = [NSString alloc] initWithFormat:@“Hello—%d”,3]; 使用initWithFormat方法可以自定义初始化格式 2)使用便利构造器: NSString *str = [NSString stri
2015-10-20 09:21:26 245
原创 对象方法与类方法易错点
当前对象方法中创建对象, 可以是当前类的实例对象, 也可以是其他类的实例对象,使用新创建的对象调用实例对象所在类的对象方法如: 在Dog类中的一个对象方法中创建一个Dog类的对象,调用Dog类的其他对象方法; 在Dog类中的一个对象方法中创建一个Cat类的对象, 调用Cat类的对象方法.类方法中可以调用其他的类方法,同对象方法一样既可以使用本类类名调用本类类方法,又可以使用其
2015-10-19 08:32:01 277
原创 OC ---封装与方法
首先创建一个类, 包括类的声明和类的实现初始化类中的实例变量: 1.重写init方法, init方法来自于根类.重写init方法时方法名与原本的init一样,只是在init实现中,对实例变量进行赋值. 但是重写init相当于只进行一次赋值,新建的对象的实例变量的初值都一样,一般不采用 2.自定义init方法,自定义方法以init 开头, 之后跟单词With. 注意: W
2015-10-16 08:33:58 319
原创 OC ---封装与方法
首先创建一个类, 包括类的声明和类的实现初始化类中的实例变量: 1.重写init方法, init方法来自于根类.重写init方法时方法名与原本的init一样,只是在init实现中,对实例变量进行赋值. 但是重写init相当于只进行一次赋值,新建的对象的实例变量的初值都一样,一般不采用 2.自定义init方法,自定义方法以init开头, 之后跟单词With.注意:
2015-10-15 19:43:15 396
原创 如何在函数中不用return语句返回多个值
重点: 利用指针在被掉函数中改变主调函数中变量的值.在主调函数中定义出需要得到的变量,将其放在被调函数声明的形参中,并以指针形式定义; 在被调函数中,通过计算得到需要的值并赋给指针变量例如求三个数的最大值void max(int a, int b, int c, int *max, int *min) { *max = (a > b ? a : b) > c ?
2015-10-07 19:44:19 1299
原创 迷宫代码实现 --- 详细解说每一步
char ch = '0'; char map[10][10] = { //10行10列的数组地图 {'#','#','#','#','#','#','#','#','#','#'},//0 {'#','0',' ',' ',' ','#',' ','#',' ',' '},//1 {'#','#',' ','#','
2015-10-06 19:44:34 1930
原创 交换两个变量的值,不借助第三方变量 ----位运算
int a = 3;int b = 5;a = a ^ b;//a = 6;b = a ^ b;//b = 3;a = a ^ b;//a = 5;printf("%d, %d\n", a, b);
2015-10-06 17:29:50 291
原创 交换两个变量的值,不借助第三方变量 ---指针篇
void swap(int *p1, int *p2, int a, int b) { *p1 = b; *p2 = a;}
2015-10-06 17:27:30 304
原创 约瑟夫环
int a[13] = {0}; for (int i = 0; i < 13; i++) { a[i] = i + 1; } int number = 13;//存活人数 int count = 0;//报数 int i = 0;//下标 while (number > 1) { if (a[i] != 0) {//
2015-09-30 09:28:48 306
原创 鞍点
int array[4][3] = {0};// for (int i = 0 ; i < 4; i++) {// for (int j = 0; j < 3; j++) {// array[i][j] = arc4random() % (30 - 10 + 1) + 10; printf("%d ", array[i][j]
2015-09-29 15:56:10 265
原创 三目运算符例子解析
关于3个数求中间值result = ( a > b) ? ( a c ? b : c ) ): ( b c ? a : c ));若a>b,执行表达式1;此时若ac,则需要b与c进行比较,如果b>c,b为中间值,反之c为中间值若ac,则需要a与c进行比较,如果a>c,a位中间值,反之c为中间值
2015-09-29 09:02:59 3671
原创 关于指针概念易混淆点
指针是一个地址,是一个常量指针变量是存放一个地址,是一个变量定义指针变量时可以对它进行初始化:int * p = &a[0];等效于下面两行语句:int * p;p = &a[o];定义是可以写成: int * p = a;它的作用是将a 数组首元素(即a[]) 的地址赋值给指针变量 p(而不是赋值给*p)*p表示变量的内容.或者是数组的元素
2015-09-28 22:27:10 289
原创 选择排序法
#import //选择排序void selectsort(int arry[], int length){ for (int i = 0; i < length - 1; i++) { for (int j = i + 1; j < length; j++) { if (arry[i] > arry[j]) {
2015-09-28 22:24:18 223
原创 冒泡排序
#import //大数下沉void sort(int arry[], int length){ int t = 0; for (int i = 0; i < length - 1; i++) {// -1是因为最后一个不需要比较了 for (int j = 0; j < length - 1 - i; j++) { if (arry[j
2015-09-28 10:00:49 192
原创 实现九九乘法表
for (int i = 1; i for (int j = 1; j printf("%-2d * %-2d = %-2d ", j ,i ,i * j); } printf("\n"); }
2015-09-25 11:29:25 369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人