Avatar ·

Détermination du type d'appareil (iPhone/iPad) en Swift : UI_USER_INTERFACE_IDIOM() et alternatives

Bonjour à tous ! Je viens de commencer à apprendre Swift et j'ai rencontré un problème pour déterminer le type d'appareil (iPhone ou iPad). Dans les anciens projets en Objective-C, j'ai vu la macro UI_USER_INTERFACE_IDIOM(), mais en Swift, elle ne fonctionne pas directement.

J'ai besoin d'écrire du code qui se comporte différemment sur iPad et iPhone. Par exemple, sur iPad, je veux afficher un contrôleur comme UISplitViewController, et sur iPhone, comme un simple UINavigationController.

Voici ce que j'ai essayé, mais cela ne compile pas :

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

Xcode génère une erreur : "Use of unresolved identifier 'UI_USER_INTERFACE_IDIOM'". Comment déterminer correctement le type d'appareil en Swift ? Existe-t-il une méthode plus moderne que cette vieille macro ? Merci d'avance !

<<>>

La bonne façon de déterminer le type d'appareil en Swift

En Swift, la macro U