使用__auto_type
#if defined(__cplusplus)
#define let auto const
#else
#define let const __auto_type
#endif
#if defined(__cplusplus)
#define var auto
#else
#define var __auto_type
#endif
测试代码
- (void)test {
let aaa = 10
NSLog(@"%d", aaa)
let str = @"hello world"
NSLog(@"%@", str)
NSArray<NSString *> *array1 = @[@"aaa", @"bbb", @"ccc"]
let array2 = @[@"aaa", @"bbb", @"ccc"]
NSLog(@"%@",array1)
NSLog(@"%@",array2)
NSDictionary<NSString *, NSNumber *> *dict1 = @{@"aaa": @1, @"bbb": @2}
let dict2 = @{@"aaa": @1, @"bbb": @2}
NSLog(@"%@",dict1)
NSLog(@"%@",dict2)
var label = [UILabel new]
label.text = @"label"
NSLog(@"%@", NSStringFromCGRect(label.frame))
let frame = label.frame
let size = frame.size
NSLog(@"%@", NSStringFromCGSize(size))
void (^block1)(NSArray *) = ^(NSArray *dataAry) {
// Do something
}
let block2 = ^(NSArray *dataAry) {
// Do something
}
block1(@[])
block2(@[])
}
【参考】