- 博客(63)
- 收藏
- 关注
原创 iOS-UI基础-03按钮操作
#import "HMViewController.h"@interface HMViewController ()@property (weak, nonatomic) IBOutlet UIButton *iconButton;@end@implementation HMViewController/** 1. 基本功能实现 2. 对代码优化: 尽量让重复的代码只出现一次
2015-08-31 21:47:02
367
原创 iOS-UI基础-02加法计算器
1.加法计算器思路===================================================1> UITextField 2 键盘设置为Number pad 数字键盘不带点 Decimal pad数字键盘带点2> UILabel 33> UIButton 1监听:按钮被点击的时候去做一些事情
2015-08-31 21:16:24
410
原创 iOS-UI基础-01简介
XMPP 聊天框架,比如QQ,微信BAT 三大巨头百度,阿里,腾讯垂直社交 陌陌====================================================为了方便开发者开发出强大的功能,苹果提供了各种各样的框架1.UIKit:创建和管理应用程序的用户界面2.QuartzCore
2015-08-31 21:06:40
338
原创 IOS开发---OC语言-㉝NSArray数组
/* 文件名:Person.h */#import @interface Person : NSObject@end/* 文件名:Person.m */#import "Person.h"@implementation Person@end// main.m// NSArray#import #import "Person.h"/* NSAr
2014-12-05 21:46:22
422
原创 IOS开发---OC语言-㉜NSString字符串
// main.m// NSString#import /* NSString : 不可变字符串 NSMutableString : 可变字符串 */int main(){ NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"]; // 拼接内容到s1
2014-12-05 21:43:53
321
原创 IOS开发---OC语言-㉛OC结构体
// main.m// 结构体#import int main(){/* NSRange(location length) NSPoint\CGPoint NSSize\CGSize NSRect\CGRect (CGPint CGSize) */ // 使用这些CGPointEqualToPoint、CGRectContainsPoint等函数的前提
2014-12-05 21:41:43
364
原创 IOS开发---OC语言-㉚protocol协议
main.m/* 1.协议的定义 @protocol 协议名称 // 方法声明列表.... @end 2.如何遵守协议 1> 类遵守协议 @interface 类名 : 父类名 @end 2> 协议遵守协议 @protocol 协议名称 @end 3.协议中方法声明的关键字 1> @required (默认) 要求实现,如果没有实现
2014-12-04 22:53:18
384
原创 IOS开发---OC语言-㉙内存管理:block的使用
// main.m// 04-block#import /* block要掌握的东西 1> 如何定义block变量 int (^sumBlock)(int, int); void (^myBlock)(); 2> 如何利用block封装代码 ^(int a, int b) { return a - b; }; ^() { NSLog(@"---
2014-12-04 22:49:39
388
原创 IOS开发---OC语言-㉘内存管理ARC循环调用
// main.m// arc-循环引用#import #import "Person.h"#import "Dog.h"/* 当两端循环引用的时候,解决方案: 1> ARC 1端用strong,另1端用weak 2> 非ARC 1端用retain,另1端用assign */int main(){ Person *p = [[Person alloc
2014-12-04 22:44:57
357
原创 IOS开发---OC语言-㉗内存管理ARC的基本使用
// main.m// arc的基本使用#import #import "Person.h"#import "Dog.h"/* ARC的判断准则:只要没有强指针指向对象,就会释放对象 1.ARC特点 1> 不允许调用release、retain、retainCount 2> 允许重写dealloc,但是不允许调用[super dealloc] 3> @prop
2014-12-04 22:38:47
368
原创 IOS开发---OC语言-㉖内存的总结
一、计数器的基本操作1> retain : +12> release :-13> retainCount : 获得计数器二、set方法的内存管理1> set方法的实现- (void)setCar:(Car *)car{ if ( _car != car ) { [_car release]; _car = [car retain];
2014-12-03 23:54:46
511
原创 IOS开发---OC语言-㉕ autoreleased的应用
//// main.m// autoreleased的应用#import #import "Person.h"#import "GoodPerson.h"/* 1.系统自带的方法里面没有包含alloc、new、copy,说明返回的对象都是autorelease的 2.开发中经常会提供一些类方法,快速创建一个已经autorelease过的对象 1> 创建对象时不要直接用
2014-12-03 23:50:50
325
原创 IOS开发---OC语言-㉔autorelease
//// main.m// autorelease/* 1.autorelease的基本用法 1> 会将对象放到一个自动释放池中 2> 当自动释放池被销毁时,会对池子里面的所有对象做一次release操作 3> 会返回对象本身 4> 调用完autorelease方法后,对象的计数器不变 2.autorelease的好处 1> 不用再关心对象释放的时间 2> 不用再关心
2014-12-03 23:48:13
334
原创 IOS开发---OC语言-㉓类的循环引用
// main.m// 循环引用/* 1.@class的作用:仅仅告诉编译器,某个名称是一个类 @class Person; // 仅仅告诉编译器,Person是一个类 2.开发中引用一个类的规范 1> 在.h文件中用@class来声明类 2> 在.m文件中用#import来包含类的所有东西 3.两端循环引用解决方案 1> 一端用retain 2> 一端用ass
2014-12-03 23:45:02
423
原创 IOS开发---OC语言-㉒@property模型设计练习
//// main.m// 06-模型设计练习#import #import "User.h"#import "Status.h"int main(){ // 新建2个用户 User *u = [[User alloc] init]; u.name = @"2B"; User *u2 = [[User alloc] init];
2014-12-03 23:36:54
288
原创 IOS开发---OC语言-㉑@property参数
/* 文件名:Person.h */#import /* 1.set方法内存管理相关的参数 * retain : release旧值,retain新值(适用于OC对象类型) * assign : 直接赋值(默认,适用于非OC对象类型) * copy : release旧值,copy新值 2.是否要生成set方法 * readwrite : 同时生成setter和get
2014-12-03 23:31:56
357
原创 IOS开发---OC语言-⑳内存管理:set方法内存管理
例一:/* 1.你想使用(占用)某个对象,就应该让对象的计数器+1(让对象做一次retain操作) 2.你不想再使用(占用)某个对象,就应该让对象的计数器-1(让对象做一次release) 3.谁retain,谁release 4.谁alloc,谁release */
2014-12-03 11:45:45
335
原创 IOS开发---OC语言-⑲内存管理:计数器的基本操作
1.引用计数器每个OC对象都有自己的引用计数器,是一个整数,表示“对象被引用的次数”,即有多少人正在使用这个OC对象每个OC对象内部专门有4个字节的存储空间来存储引用计数器新创建的对象默认引用计数器是1引用计数器为0 的时候,回收对象2.引用计数器的操作:给对象发送一条retain消息,可以使引用计数器值+1(retain方法返回对象本身)给对象
2014-12-03 11:39:24
478
原创 IOS开发---OC语言-⑱SEL的使用
/* SEL其实是对方法的一种包装,将方法包装成一个SEL类型的数据,去找对应的方法地址。找到方法地址就可以调用方法 其实消息就是SEL */_cmd指向的是当前方法在mian函数调用过程中,应注意
2014-12-03 00:25:21
402
原创 IOS开发---OC语言-⑰decription的使用
1.description因为继承了NSObject,所以自带了description的方法对象的description的使用类的description的使用description的实现
2014-12-03 00:12:57
430
原创 IOS开发---OC语言-⑯类的本质
类的本质// main.m#import #import "Person.h"#import "Student.h"#import "GoodStudent.h"/* 1.当程序启动时,就会加载项目中所有的类和分类,而且加载后会调用每个类和分类的+load方法。只会调用一次。 2.当第一次使用某个类时,就会调用当前类的+initialize方法 3
2014-12-02 21:36:18
343
原创 IOS开发---OC语言-⑮分类
/* 分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法 使用注意: 1.分类只能增加方法,不能增加成员变量 2.分类方法实现中可以访问原来类中声明的成员变量 3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用 4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类 --> 父类 */main.
2014-12-02 21:26:18
301
原创 IOS开发---OC语言-⑭id、构造方法、自定义构造方法
1.id类型万能指针,能指向\操作任何OC对象id是个类型,内部有*2.构造方法构造方法:用来初始化对象的方法,是个对象方法,-开头1.分配存储空间 +alloc2.初始化 -init1.调用+alloc分配存储空间 // Person *p1 = [Person alloc];2.调用-init进行初始化 // Person *p
2014-12-02 13:08:17
394
原创 IOS开发---OC语言-⑬成员变量作用域
/* @public : 在任何地方都能直接访问对象的成员变量 @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private) @protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected) @package : 只要处在同一个框架中,就能直接访问对象的成员变量
2014-12-01 21:54:02
338
原创 IOS开发---OC语言-⑫点语法
1.点语法#import #import "Person.h"int main(int argc, const char * argv[]){ Person *p = [Person new]; // 点语法的本质还是方法调用 p.age = 10; // [p setAge:10];set方法 int a =p.age;
2014-12-01 20:02:30
335
原创 IOS开发---OC语言-⑫点和圆的综合练习
Point2D/* 5.设计一个类Point2D,用来表示二维平面中某个点 1> 属性 * double _x * double _y 2> 方法 * 属性相应的set和get方法 * 设计一个对象方法同时设置x和y * 设计一个对象方法计算跟其他点的距离 * 设计一个类方法计算两个点之间的距离 3> 提示 * C语言的math.h中
2014-12-01 16:47:57
724
原创 IOS开发---OC语言-⑪NSString
#import @interface Person : NSObject{ //char *_name; NSString *_name;}@endint main(){ /* 最简单的创建字符串的方式 NSString *str = @"itcast"; char *name = "itcast"
2014-12-01 11:43:48
251
原创 IOS开发---OC语言-⑩多态
#import /* 多态 1.没有继承就没有多态 2.代码的体现:父类类型的指针指向子类对象 3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象 4.局限性: 1> 父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法 */// 动物@interface Animal : NSObject
2014-12-01 11:09:43
343
原创 IOS开发---OC语言-⑨继承、组合、super
1.继承#import /* 1.继承的好处: 1> 抽取重复代码 2> 建立了类之间的关系 3> 子类可以拥有父类中的所有成员变量和方法 2.注意点 1> 基本上所有类的根类是NSObject *//********Animal的声明*******/@interf
2014-12-01 09:23:23
353
原创 IOS开发---OC语言-⑧self
1.self的应用#import @interface Person : NSObject{ int _age;}- (void)setAge:(int)age;- (int)age;- (void)test;@end@implementation Person- (void)setAge:(int)age{ // _a
2014-12-01 09:04:19
318
原创 IOS开发---OC语言-⑦类方法
1.类方法的基本使用#import /* 对象方法 1> 减号 - 开头 2> 只能由对象来调用 3> 对象方法中能访问当前对象的成员变量(实例变量) 类方法 1> 加号 + 开头 2> 只能由类(名)来调用 3> 类方法中不能访问成员变量(实例变量) 类方法的好
2014-11-30 21:28:39
374
原创 IOS开发---OC语言-⑥封装(set、get)
封装:set和get#import @interface Student : NSObject{ // 成员变量尽量不要用@public // @public int age; //@public // 只读(readonly):只允许外界访问我的no,不允许外界修改我的no int no; /
2014-11-30 20:33:59
359
原创 IOS开发---OC语言-⑤方法的声明和实现(无参,有1个参数,有2个参数)
#import /*计算器类 方法: 1> 返回 π 2> 计算某个整数的平方 3> 计算两个整数的和*/@interface JiSuanQi : NSObject// 方法名:pi- (double)pi;// OC方法中,一个参数对应一个冒号// 方法名:pingFang:(冒号也是方法名的一部分)- (int)pingF
2014-11-30 16:19:52
1053
原创 IOS开发---OC语言-④类的合理设计
#import typedef enum { SexMan, SexWoman} Sex;typedef struct { int year; int month; int day;} Date;typedef enum { ColorBlack, ColorRed, Color
2014-11-30 15:48:40
404
原创 IOS开发---OC语言-③类的设计和简单练习
类的设计:1> 类名* 类名的第一个字母必须是大写* 不能有下划线* 多个英文单词,用驼峰标识2> 属性3> 行为(功能)练习/* 类名:Car 属性:轮胎个数、时速(速度) 行为:跑 */// 因为使用了NSObject#import // 完整地写一个函数:函数的声明和定义(实现
2014-11-30 11:22:25
330
原创 IOS开发---OC语言-②BOOL类型
#import BOOL test(BOOL mybool){ return NO;}int main(){ BOOL b = YES; BOOL b2 = NO; BOOL b3 = 1; // YES BOOL b4 = 0; // NO
2014-11-30 10:10:32
437
原创 IOS开发---OC语言-①概述
1.#import的用途:1> 跟#include一样,拷贝文件的内容2> 可以自动防止文件的内容被重复拷贝 2.#import NSObjCRuntime.h中有NSLog函数的声明 3.Foundation框架头文件的路径1> 右击Xcode.app --> 显示包内容2> Xcode.app/Contents/Developer/Platfor
2014-11-30 09:32:43
656
原创 IOS开发---C语言-㉔递归函数
1.在不用递归的情况下,求b的n次方2.用递归函数求b的n次方递归的2个条件:1.函数自己调用自己2.必须有个明确的返回值
2014-11-29 18:53:58
547
原创 IOS开发---C语言-㉓static和extern对函数和变量的作用
1.外部函数:定义的函数能被本文件和其他文件访问 1> 默认情况下所有函数都是外部函数 2> 不允许有同名的外部函数 2.内部函数:定义的函数只能被本文件访问,其他文件不能访问 1> 允许不同文件中有同名的内部函数 3.static对函数的作用: 1> 定义一个内部函数 2> 声明一个内部函数 4.extern对函数的作用: 1> 完整地定义一个外部
2014-11-29 17:58:12
383
原创 IOS开发---C语言-㉒typedef的使用
1.作用:给已经存在的类型起一个新的名称 2.使用场合:1> 基本数据类型int类型2> 指针3> 结构体第一种第二种第三种第二种和第三种的区别4> 枚举5> 指向函数的指针6> 指向结构体指针第一种第二种
2014-11-29 17:29:51
308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人