Objective-C初窥之Objective-C简介

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基础还有很多这里只是简单介绍一下,接下来我们还会继续深入了解,希望对大家简单的入门能有所帮助。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值