+ (instancetype)baseWithName:(NSString *)name
sex:(NSString *)sex
{
id obj = [[[self class] alloc] initWithName:name sex:sex];
return obj;
}
NSInteger maxValue(NSInteger a, NSInteger b)
{
return a > b ? a : b;
}
typedef int DT;
typedef int (*PFUN)(int , int );
typedef NSString *(^lock)(NSArray *, NSInteger );
typedef NSInteger (^testBlock)();
int a = 10 ;
NSLog (@"%p" , &a);
int *p = malloc(40 );
NSLog (@"%p" , p);
static int b = 10 ;
NSLog (@"%p" , &b);
char *str = "iPhone" ;
NSLog (@"%p" , str);
NSLog (@"%p" , maxValue);
NSInteger (*p1)(NSInteger , NSInteger ) = maxValue;
NSLog (@"%p" , p1);
NSLog (@"%ld" , p1(2 , 3 ));
void (^block)() = ^(){
NSLog (@"今天阴天" );
};
block();
void (^block1)(NSInteger , NSInteger ) = ^(NSInteger a, NSInteger b){
NSInteger max = a > b ? a : b;
NSLog (@"%ld" , max);
};
block1(10 , 20 );
void (^block2)(NSString *) = ^(NSString *str){
NSLog (@"%@" , str);
};
block2(@"你好" );
void (^block3)(NSArray *) = ^(NSArray *arr){
for (NSString *temp in arr) {
NSLog (@"%@" , temp);
}
};
block3(@[@"1" , @"2" , @"3" , @"4" ]);
NSInteger (^block4)() = ^(){
return (NSInteger )100 ;
};
NSLog (@"%ld" , block4());
NSString *(^block5)(NSArray *, NSInteger ) = ^(NSArray *arr, NSInteger index){
return arr[index];
};
NSArray *arr = @[@"1" , @"2" , @"3" , @"4" ];
NSLog (@"%@" , block5(arr, 3 ));
lock l = block5;
NSLog (@"%@" , l(arr, 2 ));
NSInteger (^block0)(NSString *) = ^(NSString *str){
return str.integerValue ;
};
NSString *str = @"111" ;
NSLog (@"%ld" , block0(str));
NSDate *(^block6)(NSString *) = ^(NSString *str){
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy.MM.dd HH:mm:ss" ];
NSDate *date3 = [formatter dateFromString:str];
NSDate *date0 = [NSDate date];
NSTimeZone *zone0 = [NSTimeZone systemTimeZone];
NSLog (@"%@" , zone0);
NSInteger seconds0 = [zone0 secondsFromGMTForDate:date0];
NSLog (@"%ld" , seconds0);
NSDate *dateNow = [NSDate dateWithTimeIntervalSinceNow:seconds0];
NSTimeInterval TimeInterval = [dateNow timeIntervalSinceDate:date0];
NSLog (@"%g" , TimeInterval);
date3 = [NSDate dateWithTimeInterval:seconds0 sinceDate:date3];
return date3;
};
NSLog (@"%@" , block6(@"1993.09.29 18:00:00" ));
PFUN p = addNum;
NSLog (@"%d" , p(10 , 20 ));
int a = 10 ;
__block int c = 10 ;
void (^block7)() = ^(){
int b = 10 * a;
c = c * 10 ;
NSLog (@"%d" , b);
};
block7();
NSArray *arr1 = [NSArray arrayWithObjects:@"1" , @"2" , @"3" , @"4" , @"5" , @"6" , nil ];
[arr1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog (@"%@" , obj);
}];
NSArray *arr0 = @[@"zhangyangyang" , @"wuhe" , @"liushanshan" , @"yanglin" , @"wangjunmin" ];
NSArray *newArr = [arr0 sortedArrayUsingSelector:@selector (compare:)];
NSLog (@"%@" , arr0);
NSLog (@"%@" , newArr);
NSMutableArray *arr00 = [NSMutableArray arrayWithObjects:@"zhangyangyang" , @"wuhe" , @"liushanshan" , @"yanglin" , @"wangjunmin" , nil ];
[arr00 sortUsingSelector:@selector (compare:)];
NSLog (@"%@" , arr00);
Person *p1 = [Person baseWithName:@"yanglin" sex:@"m" ];
Person *p2 = [Person baseWithName:@"wuhe" sex:@"m" ];
Person *p3 = [Person baseWithName:@"cuimou" sex:@"f" ];
Person *p4 = [Person baseWithName:@"shangshuai" sex:@"m" ];
NSArray *pArr = @[p1, p2, p3, p4];
NSArray *newArr0 = [pArr sortedArrayUsingComparator:^NSComparisonResult(Person *obj1, Person *obj2) {
return [obj1.name compare:obj2.name ];
}];
for (Person *p in newArr0) {
NSLog (@"%@" , p.name );
}
NSLog (@"******************" );
NSMutableArray *mArr = [NSMutableArray arrayWithObjects:p1, p2, p3, p4, nil ];
[mArr sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
Person *per1 = (Person *)obj1;
Person *per2 = (Person *)obj2;
return [per1.name compare:per2.name ];
}];
for (Person *per in mArr) {
NSLog (@"%@" , per.name );
}