Comment définir des valeurs par défaut pour IBInspectable en Objective-C?

Je sais que les valeurs par défaut de IBInspectable-propriétés peuvent être définies comme:

@IBInspectable var propertyName:propertyType = defaultValue en Swift. Mais comment puis-je obtenir un effet similaire en Objective-C, de sorte que je peux avoir la valeur par défaut de certains biens mis quelque chose dans Interface Builder?

  • Avez-vous jamais obtenir une solution pour cela?
  • non, malheureusement pas. J'ai commencé à penser qu'il n'est pas possible, IB Inspectables sont une nouvelle fonctionnalité qui est sorti en même temps avec Swift, qui prend en charge les valeurs par défaut. Depuis ObjC ne prend pas en charge les valeurs par défaut, et depuis il est extrêmement improbable qu'Apple pour ajouter cette fonctionnalité à ObjC, je doute fortement qu'il est possible. Ils pourraient ajouter un Xcode macro (par exemple, quelque chose comme IBDefaultValue), mais il serait de soutenir un héritage de la langue, qui, je pense, Apple serait en contre.
  • OK, merci pour la réponse 😀 Retour à l'ancienne méthode pour moi alors. Ennuyeux que vous aussi vous ne pouvez pas mettre UIFont comme un IBInspectable type. J'aurais pensé que c'était impossible étant donné que UILabel a elle. Oh bien 🙂
  • ouais, il est extrêmement ennuyeux, cependant je pense qu'il aura le soutien de plusieurs types (en vous regardant, les enums!) et des fonctionnalités par le temps. Si vous souhaitez ajouter une "police" de la propriété, ont un oeil à ceci: github.com/can16358p/CPTutorial/blob/master/CPTutorialBalloon.m (aller à la ligne 212) C'est une petite bibliothèque que j'ai écrit et qui accepte un nom de police dans Interface Builder et il peut résoudre dynamiquement le nom de la police de la chaîne à une véritable police de l'IB et l'exécution. N'hésitez pas à copier à votre projet si cela aide.
  • Bien, merci! Prenons un coup d'oeil maintenant.
  • Classé comme un bug à un moment de retour: openradar.me/19044397 et de fermeture du reproductible/dupe Dupe... maître ne semble pas être sur OpenRadar.