![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oc语言基础笔记
文章平均质量分 65
向渴望出发
这个作者很懒,什么都没留下…
展开
-
id类型
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- id类型/* id 类型 id 类型,定义的对象,是一个万能指针(可以指向任何对象) id类型和NSObject相比优点: 1> id是运行的时候,才去检查类型,NSObject是编译原创 2015-04-05 22:46:36 · 366 阅读 · 0 评论 -
响应方法
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// 响应方法#import @interface Dog : NSObject- (void)eat:(NSString *)name andFoodName:(NSString *)Foo原创 2015-04-05 22:38:31 · 261 阅读 · 0 评论 -
static
static/* static在oc中得使用 不能用的地方 1> 修饰实例变量 2> 修饰方法 能使用的地方 1> 局部变量: 在代码块内部定义的变量或者方法内部定义的变量和在 c语言的函数内部修饰变量作用一样,把局部变量的作用域延长了 2> 修饰全局变量: sta原创 2015-04-05 22:14:53 · 253 阅读 · 0 评论 -
类方法--简单计算器
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------计算器#import //类的声明@interface JiSuanQi :NSObject//方法的声明- (double) pi;- (int) pingFang:(int)nu原创 2015-04-05 21:22:07 · 313 阅读 · 0 评论 -
#import
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------#import的用途: 1>跟#include一样,拷贝文件的内容 2>可以自动防止文件的内容被重复拷贝 #import NSObjCRuntime.h中有NSLog函数的声明 foundation框架头文件原创 2015-04-05 21:12:35 · 272 阅读 · 0 评论 -
内存管理:@property参数
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// @property参数/* 1. set方法内存管理相关的参数 retain : 生成的set方法里面,release旧值,retain新值 assign : 直接赋值(默认,适用于非OC原创 2015-04-05 23:54:46 · 229 阅读 · 0 评论 -
description
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- description方法介绍及重写#import @interface Dog : NSObject{ @public NSString *_name; int _s原创 2015-04-05 21:58:29 · 269 阅读 · 0 评论 -
实例变量修饰符
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 实例变量修饰符/* 实例变量修饰符 (访问控制) 1> @public 共有的,公共的,在任何地方都可以被访问 2> @protected 受保护的,在当前类和他得子类(派生)中使用原创 2015-04-05 21:52:58 · 333 阅读 · 0 评论 -
关联关系
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------#import @interface Ipad : NSObject{ @public NSString *_model;}- (void)playMusic;- (void)pauseMusic;原创 2015-04-05 21:35:10 · 191 阅读 · 0 评论 -
类的合理设计
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 类的合理的设计#import //定义性别的枚举成员变量typedef enum{ SexMan, SexWomen} Sex;//定义生日的结构体成员变量原创 2015-04-05 21:24:52 · 303 阅读 · 0 评论 -
分类
分类(category)的使用注意/* 分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法 使用注意: 1> 分类只能增加方法,不能增加成员变量 2> 分类方法实现中可以访问原来类中声明的成员变量 3> 分类可以重新实现原来类中得方法,覆盖掉原来的方法 会导致原来的方法没法再使用 4> 方法调用的优先级原创 2015-04-05 22:52:35 · 208 阅读 · 0 评论 -
面向对象的特性:多态
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! 多态/* 类和类之间的关系 多种形态,没有继承就没有多态 对象和对象的关系 1> 组合 2> 依赖 3> 关联 多态: 不同对象以自己的方式,响应同名的方法 多原创 2015-04-05 23:09:28 · 258 阅读 · 0 评论 -
Foundation -- OC集合 --NSValue
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSValue/* NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue //NSValue可以把任何转换为oc对象 */#import int main原创 2015-04-06 02:06:24 · 343 阅读 · 0 评论 -
Foundation -- OC字符串
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSString/* NSString : 不可变字符串 NSMutableString : 可变字符串 */#import int m原创 2015-04-06 01:19:13 · 242 阅读 · 0 评论 -
Foundation -- OC集合 --NSDictionary
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSDictionary/* 集合 1. NSArray / NSMutableArray 有序 快速创建(不可变) : @[obj1,obj2,obj3]; 快速访问元素 : 数原创 2015-04-06 01:55:04 · 275 阅读 · 0 评论 -
Foundation -- OC集合 --NSNumber
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSnumber/* 将各种基本数据类型包装成NSNumber对象 @20 @10.5; @YES; @'A'; // NSNumber对象 将age变量原创 2015-04-06 01:58:33 · 299 阅读 · 0 评论 -
Foundation -- OC集合 --NSArray
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSArray/* NSArray : 不可变数组 NSMutableArray : 可变叔数组 */#import #import "Person.h"原创 2015-04-06 01:34:03 · 251 阅读 · 0 评论 -
Foundation -- OC集合 --NSSet
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSSet/* NSSet 和 NSArray的对比 1 共同点 1> 都是集合,都能存放多个oc对象 只能存放oc对象,不能存放非oc对象类型(基本数据类型:int ,char,float等,结构体原创 2015-04-06 01:39:25 · 287 阅读 · 0 评论 -
Foundation -- OC集合 --NSDate
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSDate#import int main(int argc,const char * argv[]) { // 09/10/2011 NSString *time =原创 2015-04-06 01:59:50 · 336 阅读 · 0 评论 -
Foundation -- OC结构体
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// OC结构体/*NSRange : 范围 , NSPoint : 点(x,y) , NSSize : 宽高(width,heigh) , NSRcet : 平行矩形(点(x,y),宽高(width,heig原创 2015-04-06 01:07:27 · 260 阅读 · 0 评论 -
协议的代理模式
协议的代理模式#import @protocol TicketDelegate NSObject>//返回票价- (double) ticketPrice;//还剩多少张票- (int) leftTicketsNumber;@end#import #import "Tic原创 2015-04-06 00:28:19 · 569 阅读 · 0 评论 -
@autorelease
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- @autorelease/* 1. autorelease的基本用法 1> 会将对象放到一个自动释放池中 2> 当自动释放池被销毁时,会对池子里面的所有的对象做一次release操作 3> 会返回对象本原创 2015-04-06 00:03:53 · 396 阅读 · 0 评论 -
OC方法和函数的区别
oc方法和函数的区别/* 1> 方法都是以减号开头 - 2> 方法的声明必须写在@interface 和@end之间 对象方法的实现必须写在@implementation 和@end之间 3> 对象方法只能由对象来调用 4> 方法归 类/对象 所有 函数能写在文件的任何位置(@interface原创 2015-04-05 21:20:00 · 373 阅读 · 0 评论 -
@protocol协议
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- @ptotocol协议/* 1. 协议的定义 @protocol 协议名称 //方法声明列表 @end 2. 如何遵守协议 1> 类遵守协议 @interface 类名: 父类原创 2015-04-06 00:37:04 · 401 阅读 · 0 评论 -
Block
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- block/* 1. Block封装了一段代码,可以在任何时候执行 2. Block可以作为函数或者函数的返回值,而其本身又可以带输入参数或返回值 3. 苹果官方建议尽量多用block.在多线程,异步任务,集合原创 2015-04-06 00:21:02 · 249 阅读 · 0 评论 -
内存管理:@class循环引用
@class循环引用/* 1. @class的作用:仅仅告诉编译器,某个名称是一个类 @class Person; //仅仅告诉编译器,Person是一个类 2.开发中引用一个类的规范 1> 在.h文件中用@class来声明类 2> 在.m文件中用#import来包含类的所有东西 3.两端循环引用解决方案原创 2015-04-06 00:00:50 · 374 阅读 · 0 评论 -
多个对象之间的内存管理
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// 多个对象之间的内存管理/* 1> 你想占用某个对象,就应该让对象的计数器+1(让对象做一次retain操作) 2>你不想再使用(占用)某个对象,就应该让对象的计数器-1(让对象做一次release操作)原创 2015-04-05 23:49:11 · 209 阅读 · 0 评论 -
oc中的相对私有变量和方法
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- oc中得私有变量 (相对私有)/* 如果在.m中定义了变量,则这些变量只能在当前类中使用,不能被子类继承 也不能在子类中可见,当然也不能使用 *///oc中得相对私有方法原创 2015-04-05 22:08:48 · 333 阅读 · 0 评论 -
SEL
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// SEL 类型/* 把Person类中得playGame方法封装成了SEL 通过一个函数来实现的封装 SEL 是一个类型 */#import原创 2015-04-05 22:11:06 · 274 阅读 · 0 评论 -
BOOL
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// BOOL Boolean/* BOOL 逻辑判断 必须全大写 是一种新的定义类型 只能定义 YES 或 NO 也就是 1 或 0 Boolean 只能定原创 2015-04-05 21:54:34 · 246 阅读 · 0 评论 -
依赖关系
// 打电话.m//A对象作为B对象的形参或者是局部变量,此时B依赖A#import //Iphone类的声明@interface Phone : NSObject{ NSString *_telNum;}- (void)setTelNum:(NSString *)telNum;- (void)call;@end原创 2015-04-05 21:34:24 · 237 阅读 · 0 评论 -
@property
@property @property 关键字的使用 (编译器指令) 必须与@synthsize关键字匹配使用 (代替了set 和 get 方法的声明) 作用: xcode4.4之前 编译器遇到 @property 的时候,自动增加 实例变量 的get原创 2015-04-05 22:24:52 · 782 阅读 · 0 评论 -
oc中不允许方法重载
方法的重载: 在一个类中,出现多个同名的方法,但是方法参数的类型或者参数的个数不同 在其他语言中,这叫做方法的重载 ********************** 特别强调 ********************** ***** 在OC语言中不存在方法的重载原创 2015-04-05 22:05:06 · 673 阅读 · 0 评论 -
对象作为方法的参数
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 对象作为方法的参数 弹夹类 类名:Clip 属性:子弹个数,型号(_model) 枪类: 名称:Gun 属性:型号(_size),子弹个数(_bulletCount) 行为:射击(shoo原创 2015-04-05 21:29:53 · 377 阅读 · 0 评论 -
NSString基础用法
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSString 类介绍及用法#import int main(int argc,const char * argv[]) { @autoreleasepool {原创 2015-04-05 22:01:30 · 278 阅读 · 0 评论 -
@synthsize
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- @synthsize关键字/* 当使用 @property 和 @synthsize 生成和实现get 和set方法 @synthsize 代替了方法的实现 注意: .h原创 2015-04-05 22:30:47 · 407 阅读 · 0 评论 -
ARC的基本使用
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------// arc的基本使用/* ARC的判断准则: 只要没有强指针指向对象,就会释放对象 1.ARC特点 1> 不允许调用release.retain.retainCount 2> 允许重写dealloc,原创 2015-04-06 00:08:55 · 353 阅读 · 0 评论 -
set方法的内存管理
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- set方法的代码规范/* 1> 基本数据类型:直接赋值 - (void)setAge:(int)age { _age = age; } 2> OC对象类型 - (voi原创 2015-04-05 23:51:40 · 271 阅读 · 0 评论 -
面向对象的特性:继承
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 继承/* 继承的好处 1. 抽取重复代码 2. 建立了类和类之间的关系 3. 子类拥有父类中得所有成员变量和方法 继承的实现步骤: 1> 先要导入继承的类的头文件原创 2015-04-05 23:06:01 · 231 阅读 · 0 评论 -
self
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- self 关键字/* self 是指针:指向了方法调用者,代表着当前对象(方法调用者) 谁调用了当前方法, self代表谁 * self出现在对象方法中,self就代表对象 * self出现在类方法中,self原创 2015-04-05 22:12:09 · 250 阅读 · 0 评论