变量可以通过语句表达式返回:
_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;
}();
它们之间有什么优缺点?
答案 0 :(得分:0)
就像你在变量中首先插入一样,你将有一些填充声明变量的返回值。 在你的第二个块,你将只运行代码块,如果你想要一个return语句,你需要声明一个块等待一个块。