Objective-C初窥之Objective-C简介

来源:互联网 发布:模拟汽车软件 编辑:程序博客网 时间:2024/06/05 06:40

1.前言

在学习IOS之前我想我们应该,简单的了解一下Objective-C的语法特性,毕竟这个是基础,所以今天我们来简单学习一下Objective-C语言的特性。

2.Objective-C学习

2.1变量

和其他语言一样Objective-C也是具有其特有的数据类型,举例:
NSInteger 能用来保存有符号的(正或者负)的整形变量。
NSUInteger 这个类型的变量可以存储 unsigned 整型值(只能是正的或者 0)。
NString string 类型的数据,比如"Mrs Thomson"。
NSArray 其实也就是一个数组,比如说你有十个文件对象,那么你可以把他们保存在这个里面.
NSSet 你可以保存唯一的,没有重复的集合对象。 
Float 浮点型的数据,例如 1.23。

2.2语句结构

2.2.1IF 逻辑判断分支结构 

if (<replaceable>condition</replaceable>){  /* Your code to get executed if the <replaceable>condition</replaceable> is met */} else {  /* Code to get executed if <replaceable>condition</replaceable> is not met */}

2.2.2 For 循环的结构 

char *myString = "This is my string"; NSUInteger counter = 0;for (counter = 0; /* Start from index 0 */counter < strlen(myString); /* Exit loop when we reach last character */ counter++){ /* Increment the index in every iteration */  char character = myString[counter];  NSLog(@"%c", character); }

2.2.3 While Loop 的循环结构 

NSUInteger counter = 0; //你自己创建的一个计数器while (counter < 10){  NSLog(@"Counter = %lu", (unsigned long)counter);  counter++; //需要你自己来进行维护管理.} 

2.3自定义类 

在 Objective-C 中,类通常由以下两部分组成:
头文件是以.h 为后缀的扩展名。 
执行文件:在头文件中定义类的功能后,你在这里编写所有功能的实际代码。执行文件是以一个.m 为后
缀的扩展名。
头文件:这里是你定义的类,基本上是:接受用户输入,旋转形状,等等。但是头文件并不执行该功能。

2.4分配和初始化对象

  必须先分配和初始化一个对象才能使用它。可以使用alloc这个实例方法来分配一个对象。该类方法会为对象、对象的实例和方法分配内存空间。但是,被分配的内存并未定义。所以,每个对象必须初始化,就是给它赋上初值。
  当执行一个新的对象时,不要重载alloc这个方法。这个方法是在声明在NSObject里的。相反的,而是为特定对象处理所需参数重载init方法和创建自定义方法。

2.5 添加类的属性

  一个属性是用@property关键字定义的。当定义一个属性时,会告诉编译器我们将会给这个属性写上一个setter和getter方法。如果在这个属性里设置一个值,运行时将执行setter方法。如果读取属性,则执行的执行的getter 方法。

#import <Foundation/Foundation.h> @interface Person : NSObject @property (nonatomic, strong) NSString *firstName; @end

我们可以在我们可以在.m文件中使用文件中使用@synthesize关键字让编译器自动关键字让编译器自动为属性生成为属性生成setter和gtter方法:

#import "Person.h"@implementation Person @synthesize firstName; - (id)init { self = [super init]; if (self) { // Initialization code here. } return self; } @end
接下来我们可以使用Person类了。这里有一个范例:

#import "SomeOtherClass.h" #import "Person.h" @implementation SomeOtherClass - (void) makeNewPerson{ Person *newPerson = [[Person alloc] init]; newPerson.firstName = @"Andrew"; NSLog(@"First name = %@", newPerson.firstName); NSLog(@"First name = %@", [newPerson firstName]); } @end

2.6 检测实例或类方法是否有效

使用NSObject的instancesRespondSelector:(类方法)检测指定的selector否存在类的实例中。使用respondsToSelector:(类方法)来检测指定的类方法中是否存在于对应的类中。

[NSArray respondsToSelector:@selector(arrayWithObjects:count:)];

2.7 确认类是否可在运行期使用

使用NSClassFronString函数。传入类名称的字符串。如果返回值为空(nil),则表示这个类无法在这台装置上使用;反之,这个类可照你希望的在这台装置上使用。

if([NSClassFromString(@"NSJSONSerialization")!=nil]){//TODO}


3.结语

当然了Objective-C基础还有很多这里只是简单介绍一下,接下来我们还会继续深入了解,希望对大家简单的入门能有所帮助。






原创粉丝点击