OC学习总结(一)
知识要点
1、 类(interface)
》头文件格式.h
@interface class-name : super-class-name <protocol-name,...>{
@private
instance variable
...
@public
...
@protected(default)
...
}
@property ... //点语法中可以方便使用
//xcode4.4以后property关键字实现了三部分工作:成员变量的定义如_name(默认为private),property和synthesize的功能
//构造方法的命名约定(以Person类为例):类方法personWith开头,实例方法initWith开头
//+开头的类方法
//-开头的实例方法
@end
》实现文件.m(.mm)
@implementation class-name
@synthesize ... //点语法中可以方便使用
//实现方法
...
@end
2、 分类(Category)
》头文件格式.h
@interface class-name (category-name)
//+开头的类方法
//-开头的实例方法
@end
》实现文件.m(.mm)
@implementation class-name (category-name)
//实现方法
...
@end
3、 协议(Protocol)
》头文件格式.h
@protocol protocol-name
//协议方法
...
@end
4、 扩展(Extension)
》声明和实现都在.m文件中
》格式类似于无名Category
@interface class-name ()
@end
》实现在原有类的implementation中
》相当于私有方法,类内部才可用
5、 委托(Delegate)
》协议的一大特色,代理模式
》协议FindHouse的定义
@protocol FindHouse
- (void) findHouse;
@end
》代理中介Agent
@interface Agent : NSObject <FindHouse>
- (void) findHouse;
@end
》甲方Person
@interface Person : NSObject{
id<FindHouse> delegate; //实现了FindHouse协议的对象都可以作为代理
}
+ (id) personWithDelegate:(id<FindHouse>)pDelegate; //注入代理
- (void) startToFindHouse;
@end
6、 Foundation框架
》NSNumber(涉及到基本数据类型和对象的相互转化,包装和拆包)
包装[Number numberWithInt:age]
拆包[number intValue]
》NSString(字符串的初始化、拼接、查找和比较)
字面量语法 NSString *str = @"hello oc"
长度[str length]
子串substringFrom, substringTo, substringWithRange
比较isEqualToString, compare, caseInsensitiveCompare
拆分字符串 componentsSeparatedByString
数组拼接字符串componentsJoinedByString
字符串拼接stringWithFormat
查找字符串hasPrefix, hasSuffix, containsString, rangeOfString
》NSArray(数组中只能存放对象,包括可变NSMutableArray和不可变数组)
创建arrayWithObjects, arrayWithArray
长度[arr count]
查找indexOfObject
可变数组addObject
》NSSet(无序列表,只能存放对象,分类可变NSMutableSet和不可变集合,自动去除重复对象)
创建setWithObjects
增加setByAddingObject(返回新对象)
可变集合NSMutableSet
子集判断intersectsSet
交集intersectSet
差集minusSet
》NSDictionary(字典为键值对,键值都必须是对象,而且都不能为nil,如果值为空时可采用NSNull)
创建dictionaryWithObjectsAndKeys
取值objectForKey
可变字典 setValue: forKey
删除removeObjectForKey
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
OC学习篇的教程项目,每个项目都是可以单独运行的。很赞的~
从头到尾,教你如何理解OC,多练,多看,多理解,希望对你有帮助
本文档主要是对在 Object-C 阶段学习基础知识的总结,都是一些常用的知识点,很适合初学者
2020大学生线上(网院)学习总结篇.pdf
自己在开发和学习的过程中,总结了一些知识与资源,用来分享
ios block学习总结demo
《培训学习总结汇报》.pdf
《培训学习总结报告》.pdf
11医生岗前培训学习总结 .doc
《培训学习总结多篇》.pdf
2019年暑期教师学习总结范文.pdf
1.安装DockerToolbox,同时会附带安装Docker Quickstart Terminal、Kitematic (Alpha)、Oracle VM VirtualBox docker terminal界面如下,可进行常见docker命令操作。 Kitematic界面如下,用于管理容器下载。...
2021年高中数学远程教育学习总结.pdf
Swift学习的笔记,总结性的东西,很实用,非常适合新手看,之前学过OC的朋友基本上一看就能上手,非常的实用。
10、OC门,即集电极开路门电路(为什么会有OC门?因为要实现“线与”逻辑),OD门,即漏极开路门电路,必须外界上拉电阻和电源才能将开关电平作为高低电平用。否则它一般只作为开关大电压和大电流负载,所以又叫做驱动...
文章目录Docker Stack概念命令Docker stack 实践实践环境实践过程部署一个简单服务添加监控visualizer滚动更新资源控制图形界面portainer安装前准备安装portainer Docker Stack 概念 技术由来:Docker Swarm在大规模...
《学校干部队伍作风整顿建设学习动员阶段工作总结》.pdf
1.docker常用命令 docker search name,name为待...docker run ubuntu /bin/echo “hello world”,在docker内运行一个应用程序输出“hello world” docker attach containerID,进入容器 docker start containerID,
我自学iOS开发时做的笔记,主要是OC语言的语法部分,没有包fundation框架,以我的亲身感受总结出iOS初学者容易犯的错误及疑问的地方,对本文如果意见欢迎与我交流,谢谢
学习OC中的Foundation框架的总结,包括NSObject,NSString,NSMutableString,NSArray,NSMutableArray