J'ai un énumé défini comme ci-dessous.
var id = 1
3 Réponses :
Vous attribuez votre identifiant usage-1 strong> p> int code> à chaque cas, comme:
let id = 1
if let type = PurchaseTimeType.allCases.first(where: { $0.id == id } ) {
print("Title for \(id) is \(type.title)")
}
J'utilise cette énumération pour afficher dans la tableView de sorte que cela ne fonctionnera pas si je vais assigner manuellement RAWVALUE. À la recherche de solution dynamique.
Vous devez ajouter une init personnalisée avec ID comme celui-ci
let num = 1 if let purchaseTimeType = PurchaseTimeType(id:num) { print(purchaseTimeType.title())//ASAP print(purchaseTimeType.id())//1 }
Vous recherchez une solution dynamique, supposons qu'il y a une autre fonction qui retournera la description, alors que dois-je faire?
@Pinkeshgjr Si vous avez une autre fonction qui renvoie la description, souhaitez-vous obtenir d'autres valeurs d'une chaîne de description?
Oui, supposons que nous avons plusieurs fonctions et que nous voulons obtenir le titre ou la description basé sur ID afin de ne pas fonctionner avec init.
@PinkeshgJR Voulez-vous obtenir le titre ou la description basé sur ID et obtenir le titre ou l'ID basé sur la description?
Seul le titre et la description basés sur ID, ID est une variable principale.
@Pinkeshgjr alors vous pouvez être imprimé (achetéTimeType.description ())
Merci beaucoup tu as sauvé mon temps :)
Vous pouvez utiliser comme ci-dessous
class PurchaseTime { var id: Int! var title: String! init(id: Int, title: String) { self.id = id self.title = title } } enum PurchaseTimeType: Int,CaseIterable { case ASAP, ThisMonth, NextMonth var instance: PurchaseTime { switch self { case .ASAP: return PurchaseTime(id: 1, title: "ASAP") case .ThisMonth: return PurchaseTime(id: 2, title: "This Month") case .NextMonth: return PurchaseTime(id: 3, title: "Next Month") } } } PurchaseTimeType.ASAP.instance.id PurchaseTimeType.ASAP.instance.title let id = 1 if let type = PurchaseTimeType.allCases.first(where: { $0.instance.id == id } ) { print(type.instance.title) }
Comment vais-je obtenir le titre de n'importe quel identifiant?
S'il vous plaît ne pas ajouter des balises arbitraires. Ce n'est pas associé à IOS, et il n'y a pas de code objectif dans votre question.