OC当中块的思想
块是C,Objective-C和C++等编程语言中的高级功能,它允许创建不同的代码段,这些代码段可以传递给方法或函数,就像它们是值一样。 块是Objective-C对象,因此它们可以添加到NSArray
或NSDictionary
等集合中。 它们还能够从封闭范围中捕获值,使其类似于其他编程语言中的闭包或lambda
。
void (^simpleBlock)(void) =^ {
NSLog(@"this is a block");
};
double (^multiplyTwoBlock)(double,double) =^(double first,double second) {
return first + second;
};
NSNumber包含了一系列float,double.int等的类型。
Objective-C编程语言提供了一种叫作数组的数据结构,它可以存储相同类型的固定大小顺序元素的集合。数组用于存储数据集合,但将数组视为相同类型的变量集合通常更有用。
不可变数组的定义
NSArray *arr = [NSArray arrayWithObjects:@1,@2, nil];
NSLog(@"this is %@",[arr objectAtIndex:0]);
必须都是对象@
OC对象中使用NSSrting来表示字符串, 创建字符串对象的最简单方法是使用Objective-C的标识符:@""
来构造 -
NSString *greeting = @"Hello";
打印输出也必须用@ 表示一个对象。
NSString *str = @"ckq";
NSLog(@"%d",[str length]);
要定义结构体,必须使用struct
语句。 struct
语句定义一个新的数据类型,为程序提供多个成员。 struct
语句的格式如下所示 -
struct Book{
NSString *title;
NSString *author;
NSString *subject;
int book_id;
};
struct Book book1;
book1.title = @"ckq";
结构体作为参数
- (void) printBook:( struct Books) book {
}