Это связано с функциями стрелок. Когда вы опускаете фигурные скобки, возвращение неявно. Таким образом,
const f = () => 42;
эквивалентно
const f = () => { return 42; };
Кроме того, b().then(something).then(somenthingElse)
- все еще только одно выражение, поэтому оно может быть возвращено неявно.
Я отсутствовал для установки стиля внешней панели кнопки правильно, и вот почему это не смотрело правильно. Я теперь устанавливаю кнопку как это:
[btn setBezelStyle:NSRoundedBezelStyle];
Затем любой из них работает для установки кнопки по умолчанию:
[myWindow setDefaultButtonCell:[btn cell]];
или
[btn setKeyEquivalent:@"\r"]
В документации говорится:
Обратите внимание что, если Вы устанавливаете ключ, эквивалентный Возврату, что кнопка становится кнопкой по умолчанию.
Таким образом Вы делаете его правильно. Вы могли попробовать это после устанавливания эквивалентного ключа:
[button setNeedsDisplay:YES];
Это вынуждает кнопку перерисовать себя.
[myWindow setDefaultButtonCell:[btn cell]]; // should do the trick.
Дополнительную информацию см. в документации Apple.