- 博客(27)
- 收藏
- 关注
原创 黑马程序员-学习OC中相关问题与解决
问题1,#import @interface Student :NSObject{ // BOOL sex;为什么不能用BOOL}解答:enum Sex{ FSexMale,//男 FSexFemale,//女 FSexOther//其他}BOOL Sex //YES NO1.用枚举可以定义多个值,就拿性别来说,现在不仅
2014-07-20 17:02:46
450
原创 黑马程序员-Foundation框架
结构体-Range,Point,Size,Rect Core Foundatition 是C语言,以后开发基本上都是ARC。提倡。节省代码。/*NSRange(范围)NSPonint\CGPoint//typedef CGPoint NSPoint;,开发中用CGPointNSSize\CGSizeNSRect(矩形)*/ int main(){
2014-07-20 16:34:13
477
原创 黑马程序员-ARC,Block与protocol
Arc(Atuomatic Reference Counting)(自动化的 引用 计数)1,基本简介ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切 ARC 是编译器特性,而不是 iOS 运行时特性,它
2014-07-17 17:32:08
430
原创 黑马程序员-多对象,set方法,@property的内存管理,以及模型设计练习
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! --------------------------------------------ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
2014-07-17 17:21:15
505
原创 黑马程序员-内存管理基础知识
1.什么是内存管理移动设备的内存极其有限,每个app所能占用的内存是有限制的当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间。比如回收一些不需要使用的对象、变量等管理范围:任何继承了NSObject的对象,对其他基本数据类型(int、char、float、double、struct、enum等)无效 int main(){ {
2014-07-14 18:14:05
379
原创 黑马程序员-description,NSLog补充以及SEL
description :重写方法,帮助输出对象。 @interface Person+ (NSString *)description- (NSString *)description@property int age;@property NSString *name; @end @implementation //决定了实例对象的输出结果
2014-07-14 18:07:53
388
原创 黑马程序员-分类以及类的本质研究
更改Xcode模板/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates。在Templates下有Templatesfile 和TemplatesProjectCategory 分类,类别,类目//可以给某一个类扩充一些方法(不修改原来类的代码)基本形式//声明@interface 类名(分类
2014-07-12 17:28:12
370
原创 黑马程序员-构造方法
Person.m #import "Person.h"@implementation //重写-init方法- (id)init{ //1.一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性 self = [super init];//当前对象 self //2,如果对象初始化成功,才有必要进行接下来的
2014-07-10 18:13:51
342
原创 黑马程序员-点语法,成员变量作用域,@property,@synthsize和 id
点语法Person *p = [Person new];p.age = 10;/* 点语法的本质还是方法调用,当使用点语法,编译器遇到了自动展开[p setAge:10];而且它不是访问成员变量age(成员变量为_age),p->_age是OC里面直接访问成员变量的唯一方式 int a = p.age// [p age] age的get方法判断是set还是get方法:有没有
2014-07-09 16:21:57
608
原创 黑马程序员-多文件开发以及Xcode功能演示
所有程序都放在一起显然是繁冗的,所以我们要多文件开发。Point2D.m文件放Point2D类 touch一个新文件Circle.m保存Circle类#import /*如果仅仅有这个的话,是不能识别下面的Point2D *类型的。所以要包含一个#import “Point2D.m”*/ 1. Point2D.m :Point2D这个类的声明和实现 cc -
2014-07-08 15:53:20
472
原创 黑马程序员- NSString和点圆的设计作业
/*5.设计一个类Point2D,用来表示二维平面中某个点1> 属性* double x* double y2> 方法* 属性相应的set和get方法* 设计一个对象方法同时设置x和y* 设计一个对象方法计算跟其他点的距离* 设计一个类方法计算两个点之间的距离3> 提示* C语言的math.h中有个函数:double pow(double n, doub
2014-07-06 18:55:09
465
原创 黑马程序员-继承,组合,super,多态
继承的基本使用和好处#import /* 1.继承的好处: 1>抽取重复代码 2>建立了类之间的关系 3>子类可以拥有父类中的所有成员变量和方法 4>不改变原来模型的基础上,拓充方法 2.注意点 基本上所有类的根类是NSObject,NSObject is a root class. */ /********Animal的声明****
2014-07-05 17:06:42
314
原创 黑马程序员- 类方法和self
类方法/*对象方法1>减号 - 开头2>只能由对象调用3> 对象方法中能访问当前对象的成员变量(实例变量) 类方法1> 加号 + 开头2> 只能由类名调用3>类方法中不能访问成员变量(实例变量) 类方法的好处和使用场合1 不依赖于对象,执行效率高2,能用类方法尽量用类名3,场合:当方法内部不需要使用成员变量时,就可以改为类方法 可
2014-07-02 15:22:51
301
原创 黑马程序员-面向对象的三大特性1-封装-set,get方法,弱语法
封装set方法和get方法、@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检、水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数代码示例/*封装:成员变量的封装.封装的好处:过滤不合理的值屏蔽内部的赋值过程.让外界不必关注内部的细节.*/typedef enum{ SexMan,
2014-07-01 17:19:55
564
原创 黑马程序员-类的合理设计
typedy enum{Sexman,Sexwoman/*不直接写woman而带上枚举名Sex,给人一目了然,知道是哪个枚举里的常量*/} Sex;//枚举大括号后面,变量之间有个空格 typedef struct{int month;int day; int year;} Date; typedef enum{ ColorBlack;
2014-06-30 16:14:46
307
原创 黑马程序员-类的声明与实现,方法与函数以及常见错误
/*人类名:Person属性:(成员变量\实例变量):体重,年龄行为(方法):走,吃*/#import //类的声明//*成员变量 方法声明@interface Person :NSObject{ @public int age; double weight;}-(void)walk;-(void)eat;@end
2014-06-29 16:37:30
381
原创 黑马程序员-OC-类与对象,以及类的基本设计
面向对象和面向过程思想OC是面向对象的,C是面向过程的。面向对象和面向过程只是解决问题的两种不同思想面向对象和面向过程的区别以用电脑听歌为例子面向过程打开电脑 播放电脑中的歌曲 关闭电脑 面向对象找到电脑对象 包含下面功能开机 播放歌曲 关机 区别分析面向过程关注的是解决问题需要哪些步骤;面向对象关注的是解决问题需要哪些对象
2014-06-28 17:21:03
401
原创 黑马程序员-OC的基本语法
OC简介C语言的基础上,增加了一层最小的面向对象语法完全兼容C语言,可以在OC代码中混入C语言代码,甚至是C++代码可以使用OC开发Mac OS X平台和iOS平台的应用程序 OC语法预览关键字了解基本上所有关键字都是以@开头,一些常见的关键字,看一眼了解即可。@interface、@implementation、@end @public、@protecte
2014-06-27 16:27:54
414
原创 黑马程序员-static和extern
一、static和extern与函数外部函数:定义的函数能被本文件和其他文件访问 1> 默认情况下所有函数都是外部函数 2> 不允许有同名的外部函数 内部函数:定义的函数只能被本文件访问,其他文件不能访问 1> 允许不同文件中有同名的内部函数 static对函数的作用: 1> 定义一个内部函数 2> 声明一个内部函数 extern对函数的作用: 1> 完整地定义一个外部函数 2> 完整地声明一个外
2014-06-25 16:58:38
338
原创 黑马程序员-变量作用域,存储类型,类型总结,递归思想
C语言有丰富的数据类型和运算符,因此计算能力非常强大,计算过程中使用的值一般用变量来存储。变量也是有分类型的,不同类型的变量有不同的存储类型、不同的生命周期、不同的作用域,C语言也提供了一些关键字来设置变量的属性(比如设置存储类型、生命周期)。 一、变量的作用域C语言根据变量作用域的不同,将变量分为局部变量和全局变量。1.局部变量1> 定义:在函数内部定义的变量,称为局部变量。形式
2014-06-25 16:47:23
406
原创 黑马程序员-预处理
预处理指令简介1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。习惯上我们尽可能将预处理指令
2014-06-24 16:23:33
346
原创 黑马程序员-结构体与枚举
在iOS开发中,结构体是经常用到的数据类型,使用频率不亚于指针,所以需要重视,不过用法非常简单。一、什么是结构体* 在第八讲的时候已经介绍了C语言中的数组,用法跟其他语言差不多。当一个整体由多个数据构成时,我们可以用数组来表示这个整体,但是数组有个特点:内部的每一个元素都必须是相同类型的数据。* 在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名、年龄
2014-06-23 16:57:35
446
原创 黑马程序员-数组与指针
数组的基本概念数组是构造类型。数组就是用来存储一组数据的数组的特点只能存放一种类型的数据,比如int类型的数组、float类型的数组,里面存放的数据称为“元素”数组的定义元素类型 数组名[元素个数];比如:int ages[3];简单使用简单初始化:int ages[5] = {19, 19, 20, 21, 25};元素有顺序之分,每个元素都有一个唯一的下
2014-06-22 15:59:07
470
原创 黑马程序员-进制与内存分析
进制 二进制特点:只有0和1,逢2进1书写格式:0b或0B开头使用场合:二进制指令\二进制文件,变量在内存中就是二进制存储二进制和十进制的互相转换n为二进制位所能表示的数据范围(不考虑负数):0~2的n次方-1 八进制特点:0~7,逢八进一书写格式:0开头八进制和二进制的互相转换 十六进制特点:0~F,逢十六进一书写格式:0x或者0X
2014-06-21 15:15:21
529
原创 黑马程序员-流程控制
流程控制顺序结构:默认的流程结构。按照书写顺序执行每一条语句。选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。循环结构:在给定条件成立的情况下,反复执行某一段代码。 选择结构-if简单使用if (表达式) 语句1; if(count>50) 开班; 上课; if(表达式) 语句1; else 语句2;f(coun
2014-06-20 17:03:35
365
原创 黑马程序员-运算小结
一,算数运算 1.加+减-乘*除/ 注意一点:整数除于整数,还是整数。1/2的值是0,这个并不是二分之一 2. 取余运算% 什么是取余:两个整数相除之后的余数 %两侧只能是整数 正负性取决于%左侧的数值 3.注意事项 1> 自动类型转换 int a = 10.6; int b = 10.5 + 1.7; 自动将大类型转换为了小类型,
2014-06-19 14:01:53
583
原创 黑马程序员-c语言学习-基础语法
一.C语言是面向过程的高级语言,先学C是因为OC是对C不能面向对象的补充。C可以说是编程语言的母语,学好C很重要。C程序是由程序段构成的,main函数是程序的入口,基本格式:#include int main(){return 0;}1.编写代码2.编译过程:工具:clang编译器要注意是否安装编译工具,测试方法:cc回车查看系统反馈的是no input fil
2014-06-18 20:02:19
496
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅