J'ai créé dans mon application CoreData une entité avec quelques attributs. Imaginez une tableview et un NSArrayController lié. Avec les deux je crée (et édite) mes "instances" d'entité. Ma question est comment je peux obtenir les valeurs de ces attributs à mon code. S'il y a plus de questions:Comment obtenir des valeurs de CoreData-Entities au code
Répondre
Vous devez obtenir une référence au NSArrayController. Si vous chargez la NIB vous-même, vous pouvez ajouter une instance IBOutlet à la classe définie comme NIBs "propriétaire du fichier". Lorsque vous chargez une plume, vous indiquez l'instance de la classe "File Owner" de la NIB en tant que propriétaire. Si vous ne chargez pas la NIB vous-même (c'est-à-dire qu'elle est chargée automatiquement par Cocoa comme nib/xib MaineMenu de votre application), créez une instance de votre propre classe dans la plume et ajoutez une IBOutlet à cette instance. Vous créez un IBOutlet dans votre classe comme ceci:
@interface MyClass : NSObject { //of course your class doesn't have to be a direct descendent of NSObject
IBOutlet NSArrayController *arrayController;
}
@property (retain,nonatomic,readwrite) IBOutlet NSArrayController *arrayController;
...
@end
@implementation
@synthesize arrayController;
- (void)dealloc {
[arrayController release];
[super dealloc];
}
@end
Connectez le IBOutlet dans votre classe au NSArrayController (controll-cliquez sur le propriétaire du fichier dans le premier cas ou l'instance de votre classe dans le second cas ci-dessus) et faites glisser vers NSArrayController. Lorsque vous relâchez la souris, vous obtenez une pop-up des IBOutlets dans la source de glisser. Sélectionnez l'IBOutlet que vous avez créé (par exemple "arrayController" dans l'exemple ci-dessus).
Une la pointe est chargé (après awakeFromNib
est appelé dans votre classe), vous pouvez accéder au arrayController via la sortie:
NSArray *content = [[self arrayController] arrangedObjects];
et vous pouvez faire ce que vous plaît avec les valeurs du tableau .
Si j'ai ceci correct, vous avez un TableView, lié à un NSArrayController qui est lié à vos données.
La méthode simple: Créez un objet IBOutlet dans votre classe (généralement le propriétaire du fichier) et dans Interface Builder, connectez ce point IBOutlet à NSArrayController. Vous pouvez ensuite obtenir les valeurs dont vous avez besoin à partir de ce tableau.
- 1. Comment obtenir des valeurs distinctes des colonnes?
- 2. comment affecter des valeurs au tableau
- 3. Obtenir des valeurs d'un ENUM
- 4. Obtenir des valeurs entre guillemets
- 5. comment obtenir des valeurs distinctes de json dans jquery
- 6. Comment obtenir des valeurs hors de l'objet HtmlAttributes
- 7. Comment obtenir des valeurs par les opérations de chaînes Perl?
- 8. requête d'accès: comment interroger pour obtenir des valeurs calculées?
- 9. requêtes linq imbriquées, comment obtenir des valeurs distinctes?
- 10. Comment puis-je obtenir des valeurs FlashVars dans ActionScript 2.0?
- 11. Ajouter dynamiquement des valeurs à UIPickerView au moment de l'exécution
- 12. jQuery obtenir les valeurs OPTION restantes au format CSV
- 13. obtenir erreur lors de l'insertion d'une seule cotation des valeurs
- 14. obtenir des résultats étranges de framerate code
- 15. Comment obtenir les valeurs des contrôles dans ModalPopupExtender?
- 16. Comment obtenir des valeurs enum sans connaître ses clés?
- 17. Comment obtenir des valeurs uniques d'une collection en C#?
- 18. valeurs de page de code
- 19. obtenir des valeurs de structure de données à partir d'arraylist
- 20. obtenir des valeurs de la liste dans un modèle Django
- 21. Obtenir la liste des valeurs de pixel de PIL
- 22. Y at-il des valeurs de propriétés composées au printemps
- 23. Comment obtenir la liste de valeurs du dictionnaire générique
- 24. obtenir le type d'objet et attribuer des valeurs en conséquence
- 25. Obtenir des valeurs de contrôles ajoutés dynamiquement dans ASP.NET
- 26. Comment obtenir le code T-SQL pour trouver des doublons?
- 27. Obtenir des clés XML et des valeurs facilement en PHP
- 28. Cookies ASP.NET avec des valeurs multiples - comment?
- 29. Obtenir toutes les valeurs d'énumération
- 30. Tri certaines valeurs au sommet
est-il correct de dire que vous n'avez pas besoin de @property et de @synthesize si vous ne chargez pas la plume vous-même? – catsby
Le code de chargement NIB connectera directement les variables d'instance, mais en utilisant le modèle ci-dessus est le seul garanti pour gérer correctement la gestion de la mémoire dans les environnements GC et non GC, selon mmalc. –