文档章节

object-c学习

y
 yizhangxyz
发布于 2016/02/01 08:57
字数 963
阅读 21
收藏 0

1..h头文件 .m源文件 .mm c++源文件

2.函数声明

-(void) helloWorld:(BOOL)ishelloworld{} 等价于

void helloWorld(bool ishelloworld) {}

前面的-表示实例才可以调用的方法。+表示静态方法,不需要实例化都可以调用。

3.object-c函数

-(void)func:(BOOL)para1 paraName1:(BOOL)para2

函数名func可以看作参数1的名字

4.类声明以@interface开头。通常在.h里面定义,implementation定义包含实现,定义在.m里面,成员变量定义在源文件中就是private的

@interface A : B <C> {}表示A继承B,实现C协议。协议类似于java里面的接口。此方法模拟多继承

5.protocol对应java里面的接口,区别在于可以定义方法在子类是否必须实现。

optional是可选的

required是必须实现的

6.初始化一个对象:[[XXX alloc] init]

7.[[IOSIAPManager sharedManager] setSTIABDelegate:pDelegate];

表示使用IOSIAPManager的sharedManager静态方法 返回的对象的setSTIABDelegate方法,传入的参数是pDelegate

8.@“abc”表示将引用的字符串作为cocos的NSString处理。

9.只有成员变量有@public@protected ,@private修饰符,成员方法都是public的,变量默认是protected的

10.成员变量在.h里面声明相当于是public的,在.m里面声明相当于是private的。

11.@property int i;相当于声明getter和setter。在oc里面即使申明了public:int i,也无法通过obj.i来访问属性。可以在property()括号里面添加访问控制,具体有如下类型:

   readwrite:  默认读写
   readonly:     只读,没有set方法
   retain:       引用计数增加1
   assign:        引用计数不增加(默认)
   strong:      和retain一样增加引用计数
   weak:        和assign一样不增加引用计数
   actiomic:      原子性,加了互斥锁的( 默认)
   nonatomic:非原子性,不要加互斥锁
   copy:          复制内存地址创建新对象,是浅拷贝。另外在NSArray之间copy,如果复制不可变对象,那么是retain方式的复制,也就是直接将引用系数+1。
   

对属性的访问方法:obj.i 等价于[obj i]

12.[]中括号表示一个方法调用,有2种调用方法:[类名 类方法] 和[实例名 实例方法]

通常说消息,即给对象发送了一个消息。

C++写法:this->hello(true)

Oc写法:[self hello:YES]

13.NS***,苹果的一个函数库。

14.所有的类都继承于NSObject

15.强类型和弱类型。

变量类型为类名指针就为强类型A* obj;

弱类型通过id定义id ibj;

16.SEL是选择器(selector)的一个类型,选择器就是指向函数的一个指针

17.Char数组与NSString之间可以通过stringWithCString:encoding来转换

18. include、import、@class

  • include "" 与include <> 和c++里面区别一样。""表示用户目录下的文件。<>表示系统目录下的文件。
  • include会引起 重复引用。比如class A,class B都引用了class C,class D若引用class A与class B就会报重复引用的错误。
  • import,基本功能与include一样,但是解决了重复引用的问题。所以通常都用import。
  • @class和c++里面的class A也差不多。用于解决交叉引用的问题。 
     

19. 引用计数。

@property (nonatomic, strong) NSString *string1;//申明为strong,引用计数增加
@property (nonatomic, strong) NSString *string2;

 self.string1 = [[NSString alloc] initWithUTF8String:"string 1"];
 self.string2 = self.string1; //引用计数增加为2
 self.string1 = nil;                //引用计数减1
 NSLog(@"String 2 = %@", self.string2);//输出String 2 = string 1

将string2定义为weak:@property (nonatomic, weak) NSString *string2;
输出为String 2 = (null)。内存已经释放,但是访问是安全的。

将string2定义为unsafe_unretained,在输出处crash。访问不安全。

20. UITableViewCell在绘制cell的时候要先判断cell是否存在,如果存在就循环利用,不存在再创建。可见cell的使用是回收循环使用的。

© 著作权归作者所有

共有 人打赏支持
y
粉丝 1
博文 67
码字总数 42366
作品 0
成都
私信 提问
Swift语言从天而降,能否掀起新一轮的科技革命?

Swift语言从天而降,能否掀起新一轮的科技革命? Swift语言诞生到现在,才短短一个月多,Swift竟然挤进TIOBE排行榜的第16位,相信这发展的速度绝不是任何一个语言可与之相提并论,那Swift到底...

sdefzhpk
2014/07/18
0
0
Object-C学习笔记(一)

最近休息在家,闲来无事想搞一个iphone的游戏玩玩,于是买了本 图灵 的 Object-C基础教程 看了看,这本书还算比较基础,里面讲解知识点也比较通俗易懂,尤其是做过一些开发的人,基本上没有什...

logbird
2012/11/29
0
2
iOS开发之Object-C和Cocoa [转]

Objective-C Objective-C,是扩充C的面向对象编程语言。是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要应用于Mac OS X和iOS开发,而在NeXTSTEP和OpenStep中它更...

ilscott
2012/12/13
0
0
Object-C学习笔记之基础知识一

Object-C 是C的衍生语言,继承了所有C语言的特性,但是Object-C并不是继承自C语言特性本身。 首先我们先通过例子来说明Object-C中的一些基本语法: #import <Foundation/Foundation.h> @inte...

Yi_Yuan_n
2015/10/02
187
0
开发随笔-移动开发小结

最近一直在学习iphone,android,wp7的开发.截止到今天,基础的学习个人感觉算差不多了,当然也就是入门级别.在这里总结一下,同时为下个阶段的计划作个准备. 我最开始看的是android开发,原因是因...

晨曦之光
2012/03/08
209
0

没有更多内容

加载失败,请刷新页面

加载更多

GROUP BY GROUPING SETS

GROUPING SETS 子句是 SELECT 语句的 GROUP BY 子句的扩展。通过 GROUPING SETS 子句,您可采用多种方式对结果分组,而不必使用多个 SELECT 语句来实现这一目的。这就意味着,能够减少响应时...

hblt-j
10分钟前
0
0
selenium之表格的定位

真的勇士, 敢于直面惨淡的warning、 敢于正视淋漓的error 目录 被测试网页的HTML代码 1.遍历表格所有单元格 2.定位表格中的某个元素 3.定位表格中的子元素 总结 浏览器网页常常会包含各类表...

程序猿拿Q
15分钟前
0
0
adb命令启动展讯平台工厂模式

adb命令启动展讯工厂模式: adb shell am start com.sprd.engineermode/com.sprd.engineermode.EngineerModeActivity...

东街小霸王
16分钟前
0
0
mtu值怎样设置才网速最快

一、什么是 MTU 值 1 从字面上来说,MTU 是英文 Maximum Transmission Unit 的缩写,即最大传输单元,它的单位是字节。 在我们常用的以太网中,MTU 一般是 1500,而无线路由器默认一般是 14...

Clarence_D
35分钟前
1
0
McAfee阻止邮件发送功能

自己写的邮件发送功能,在本地机器上可以发送,但是放到服务器上面之后就不能发送了,捕获到的异常是“以一个访问权限不允许的方式做了一个访问套接字的尝试”,找了很久,终于发现是被McAfe...

壹峰
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部