Avatar ·

Determinação do tipo de dispositivo (iPhone/iPad) em Swift: UI_USER_INTERFACE_IDIOM() e alternativas

Olá a todos! Acabei de começar a estudar Swift e me deparei com um problema ao determinar o tipo de dispositivo (iPhone ou iPad). Em projetos antigos em Objective-C, eu vi a macro UI_USER_INTERFACE_IDIOM(), mas em Swift ela não funciona diretamente.

Preciso escrever um código que se comporte de forma diferente no iPad e no iPhone. Por exemplo, no iPad quero mostrar um controller como UISplitViewController, e no iPhone como um UINavigationController comum.

Aqui está o que tentei, mas não compila:

if UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad {
    // iPad
} else {
    // iPhone
}

O Xcode mostra um erro: "Use of unresolved identifier 'UI_USER_INTERFACE_IDIOM'". Como determinar corretamente o tipo de dispositivo em Swift? Existe uma maneira mais moderna do que essa macro antiga? Agradeço desde já!

<<>>

Forma correta de determinar o tipo de dispositivo em Swift

Em Swift, a macro U