代码块 类似 函数指针。
//
// void (^Myblock)();//代码块的声明 。
实现
// Myblock=^()
// {
// NSLog(@"test bloock");
// };
调用
// Myblock();
// 例
// void (^Myblockadd)(int x,int y);
// Myblockadd=^(int x,int y)
// {
// NSLog(@"%d",x+y);
//
// };
//
// Myblockadd(100,210);
// 声明
int (^Myblockadd)(int x,int y);
// 实现
Myblockadd=^(int x,int y)
{
return x+y;
};
// 调用
int result= Myblockadd(100,210);
NSLog(@"%d",result);
// 调用
// int result1=Myfun(block);
return 0;
}
//int Myfun(int(^Testblock)(int a,int b)){
//
// return Testblock(10,20);
}
单例
#import "Singleton.h"
@implementation Singleton
static Singleton*singleton;
+(Singleton *)shareinstance
{
if (singleton==nil) {
singleton=[[Singleton alloc]init];
}
return singleton;
}
+(instancetype)allocWithZone:(struct _NSZone *)zone
{
if (singleton==nil) {
singleton=[[super allocWithZone:zone]init];
}
return singleton;
}
-(id)copyWithZone:(NSZone *)zone
{
return self;
}
@end
// 单例
Singleton *sin=[[Singleton alloc]init];
Singleton *sin1=[Singleton new];
Singleton *sin2=[Singleton shareinstance];
NSLog(@"%p",sin);
NSLog(@"%p",sin1);
NSLog(@"%p",sin2);
NSString *str=@"hfahfka";
// string->data
NSLog(@"%@",[str dataUsingEncoding:NSUTF8StringEncoding]);
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
// data->string
NSString *str1 = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",str1);
}
return 0;
}