从今天起,我将陆续写一些关于iOS编程学习的小文章,便于一些初学者的学习,也便于自己以后使用
首先我们带来的是iOS开发的入门篇(一)
Objective-C语言的创始人:Brad Cox,Objective-C是在C语言的基础加上了面向对象编程的特性之后形成的
一种面向对象的语言。
这种语言可以说是比较复杂的,因为它来源于C所以开发者会经常看到这种语言的代码中会参杂着许多C语言的代码
这种混编的方式可能会使开发者不舒服,但是选择了这条跪着也要走完。
后Jobs的NextStep公司取得了这种语言的授权,并在这种语言的基础之上开发了一套编程框架叫做cocoa(Tool-kit),
这也是我们今后将长期打交道的东西。
虽然Objective-C语言是在C语言基础之上建立的,但是Objective-C也和C语言一样并不支持命名空间(名称空间)的概念
这对于开发者来说也是比较痛苦的一点,但是苹果优秀的工程师们并没有被Objective-C没有命名空间这一难题所难到,他们在
每个类的前面加上前缀用来区分不同的框架下的类如:Foundation框架下:NS、UIKit框架下:UI等,也为开发者提供了方便,
和一个可以用来参照的规范。
Objective-C和Java,C#等主流的开发语言一样只支持单枝继承,当然为解决单继承所带来的功能不够强大的问题,Objective-C
也引入了类似于Java,或C#中接口的东西,Objective-C中叫做协议(protocol)
一下是我们的第一个程序,依旧是这个梗,“Hello world!!!”:(大家莫怪)
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
NSLog(@"hello world!!!!!");
return 0;
}
}
接下来我们提提一下Objective-C的一些基本的东西,这里知识随口一提,后面的文章中会具体的事例和讲解
Foundation 框架我们在此了结一下,这个框架是我们最常用的框架类似于 Java中的java.lang包,其重要性时
不言而喻的,其中的类均是以NS前缀开头的,用于处理非UI部分的编程
NSLog函数这是一个非常强大的东西,一个好的程序员,需要的是什么,1.会百度,2.会打印
当一个程序员会了这两个东西之后,就走遍天下都不怕了,而NSLog就是帮助好的程序员打印调试用的
这个NSLog可以格式化输出内容,与C语言中的printf用法几乎一致,只是多了一个"%@"用于打印Objective-C
的对象(此处如有不全之处请指正)。
Objective-C中的常量变量:
基本数据类型的常变量与C#,Java中的没有什么区别
如:
int age=12;
float price=20.0f;
等
对象的数据类型(指针数据类型)
NSString *str=@"Objective-C";
UIView *view;
等,注意Objective-C语言中的对象在声明时与Java,C#等语言是有区别的需要在变量名1前面加上“*”和C语言中声明指针
很像
与其它面向对象的语言一样,Objective-C中的变量也分为实例变量,全局变量,局部变量,其作用域和Java,C#的都是类似的
Objective-C中的常量分为直接常量,只读常量,符号常量
直接常量在变量名之前加上const,
只读常量就是程序中出现的常量如:@"Objective-C",
符号常量也就是C语言中的宏定义#define LANGUAGE_NAME @"Objective-C"
像一些基本的语法如数据类型,控制语句,等与其它的语言都是相通的,在此就不费笔墨去介绍了,这篇文章主要着力于介绍Objective-C的一些基本的特性,
如果是零基础的朋友请先研究一下C语言,或Java这样的类C语言,会更方便理解本文的一些东西
在此,如有不正确的地方,请大家指正,相互学习,相互借鉴,另外这是本人第一次发文,请多包涵