扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Objective-C的简历
为峰峰矿等地区用户提供了全套网页设计制作服务,及峰峰矿网站建设行业解决方案。主营业务为网站建设、成都网站制作、峰峰矿网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
历史背景
20世纪80年代初 Objective-C诞生
1988年 NeXT开发了Objective-C语言库
1992年 GNU增加了NeXT公司的Objective-C的支持
1996年 苹果收购NeXT,并更名为Cocoa
2004年 Mac OS X 以“NS”作为前缀
2007年 苹果公司发布了Objective-C 2.0
经过多年的发展,Objective-C和Cocoa已演化成一个功能强大的工具集。
OC的特点:
兼容性 :是一种面向对象的C语言,可以有C和C++语句,可以调用C的函数,也可以通过C++对象访问方法。
类 :定义类是基本能力,OC的类声明和实现,包括接口部分和实现部分。
方法 :定义方法也是它的基本能力,OC中的方法是通过[]运算符进行调用,有时也称作“消息发送”。
属性 :是OC2.0提出的概念,替代对成员变量访问的“读取方法(getter)”和“设置方法(setter)”的手段
协议 :OC中来的协议类似于Java中接口或C++的纯虚类,只有接口部分定义没有实现部分
分类 :OC中的分类类似于继承机制,通过分类能够扩展父类的功能。
OC的缺点:
OC的最初版本并不支持垃圾回收
OC不包括命名空间机制
OC不支持运算符重载
OC不支持多继承
故,OC不是一个完全面向对象语言
Objective-C源文件
在Mac OS X下使用XCode进行开发
Xcode通过.m扩展名表示文件使用的是OC代码(可以嵌入C语言)
如果需要嵌入C++的代码,则扩展名应为.mm。。
编写Hello World
学习一种新的语言的第一步就是要输出 Hello World。,使用XCode创建一个新的Mac OS的控制台项目。
将main.m中的代码更改为如下:
#import
int main(int argc, const char *argv[])
{
NSLog(@”Hello World, Objective-C!”);
return 0;
}
import关键字:
OC使用import关键字来代替include关键字包含头文件。
优点:import本身即可避免头文件的重复包含。
其他方面和include一样
Foundation框架:
Foundataion是Cocoa中的一个框架。
简单理解框架就是库,包含了一些列的头文件、源文件、图像文件、声音文件等。
Apple公司将Cocoa、Carbon、QuickTime和OpenGL等技术作为框架提供。
Foundation框架处理的是用户界面之下的层(layer)的特性,如数据结构、通信机制等。
包括了各种基本数据类型、集合、操作系统服务的类
包含了集中设计模式和机制,以便设计出更健壮和高效的Objective-C程序
NSLog函数:
NSLog是Foundation框架中提供的一个函数。
提供了日志形式的输出,类似于C中的pringf
该输出会自动加上日期等信息以及自动换行的
OC中的@:
表示后面是一个OC的对象
@“"用于描述一个OC字符串常量
OC字符串的类型是NSString,是Foundation框架中的一个类
在NSLog中使用%@输出一个OC对象
其他基本元素说明
布尔类型:
布尔类型用于描述“真”、“假”, 类型为BOOL,其值可为 YES NO
typedef signed char BOOL;
#define YES (BOOL)1
#define NO (BOOL)0
OC对象指针类型:
void * 任意类型的指针
id OC的对象指针
instancetype 和id类似,用于构造方法的返回值类型
OC中的“空”:
NULL 对应普通指针变量的空地址
nil 表示OC对象指针的空地址
Nil 表示OC类对象指针的空地址
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流