变量返回语句表达式或块

时间:2015-07-30 02:56:37

标签: ios

变量可以通过语句表达式返回:

_user = ({
    User *user = [[User alloc]init];
    user.name = @"Joe";
    user.age = 18;
    user;
});

或阻止:

_user = ^{
    User *user = [[User alloc]init];
    user.name = @"Joe";
    user.age = 18;
    return user;
}();

它们之间有什么优缺点?

1 个答案:

答案 0 :(得分:0)

就像你在变量中首先插入一样,你将有一些填充声明变量的返​​回值。 在你的第二个块,你将只运行代码块,如果你想要一个return语句,你需要声明一个块等待一个块。