//Swift
func loadAddress() -> (house: String, city: String, country: String) {
return ("65, Park Street", "Bristol", "UK")
}
let (city, street, country) = loadAddress()
不接收参数没有返回的闭环
//Objective-C
void (^printUniversalGreeting)(void) = ^{
NSLog(@"Bah-weep-graaaaagnah wheep nini bong");
};
printUniversalGreeting();
//Swift
let universalGreeting = {
print("Bah-weep-graaaaagnah wheep nini bong")
}
universalGreeting()
不接收参数返回一个字符串的闭环
//Objective-C
NSString* (^getUniversalGreeting)(void) = ^{
return @"Bah-weep-graaaaagnah wheep nini bong";
};
NSString *greeting = getUniversalGreeting();
NSLog(@"%@", greeting);
//Swift
let getUniversalGreeting = {
return "Bah-weep-graaaaagnah wheep nini bong"
}
let greeting = getUniversalGreeting()
print(greeting)
接收一个字符串参数,返回一个字符串的闭环
//Objective-C
NSString* (^getGreeting)(NSString *) = ^(NSString *name) {
return [NSString stringWithFormat:@"Live long and prosper, %@.", name];
};
NSString *greeting = getGreeting(@"Paul");
NSLog(@"%@", greeting);
//Swift
let getGreeting = { (name: String) in
return "Live long and prosper, (name)."
}
let greeting = getGreeting("Paul")
print(greeting)
类
创建空类
//Objective-C
@interface MyClass : NSObject
@end
@implementation MyClass
@end
//Swift
class MyClass: NSObject {
}
//推荐使用结构代替类,这样也许不需要从NSObject继承了
创建有2个属性的类
//Objective-C
@interface User : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) NSInteger age;
@end
@implementation User
@end








