objective-c 2.0的字面量Literals

时间:2021-11-08 22:26:41

obj-c 2.0增加了许多核心对象字面量的简单语法,向ruby学习吗?

直接上代码:

#import <Foundation/Foundation.h>

int main(void){
    @autoreleasepool{
        NSString *str0 = @"hello";
        NSString *str1 = [NSString stringWithFormat:@"%@",@"hello"];
        NSLog(@"%@ %@",str0,str1);
        if(str0 == str1)
            NSLog(@"str0 == str1");
        if([str0 isEqual:str1])
            NSLog(@"str0 equal str1");
        if([str0 compare:str1] == NSOrderedSame)
            NSLog(@"str0 compare str1 is Same");
        NSMutableSet *set = [NSMutableSet new];
        NSLog(@"count %lu at begin",[set count]);
        [set addObject:str0];
        [set addObject:str1];
        [set addObject:[str0 stringByAppendingString:str1]];
        NSLog(@"count %lu at now",[set count]);
        NSLog(@"%@",set);
        //NSLog(@"%@ %@",set[0],set[2]);
        NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
        [dict setDictionary:@{@1:@1,@2:@"hh",@"hi":@1}];
        dict[@11] = @"what!?";
        NSLog(@"%@ : %@",dict[@1],dict);

        NSMutableArray *ary = [NSMutableArray arrayWithArray:@[@1,@2,@"hehe"]];
        NSLog(@"%@",ary);
        ary[2] = @"smile!";
        NSLog(@"%@ : %@",ary[0],ary);

        @try{
            NSLog(@"value with bad index: %@",ary[11]);
            NSLog(@"never see me!");
        }
        @catch(NSException *e){
            NSLog(@"caught %@:%@",[e name],[e reason]);
        }
        @finally{
            NSLog(@"at last!!!");
        }
    }
    return 0;
}