J'avais une classe (dicecontroller) avec un IBAction et qui déclencherait quelques IBOutlets, tout était heureux. J'ai depuis trouvé un meilleur moyen d'organiser mon code et de mettre l'IBAction dans une classe différente (playercommand). playercomman appelle une méthode dans dicecontroller qui a tous les IBOutlets, sauf que maintenant aucun des points de vente n'affiche quoi que ce soit. J'ai reconnecté les prises avec le xib, même fait de nouvelles prises, aucune forme d'IBOutlets ne semble fonctionner. Cependant NSLog fonctionne très bien et le tableau que je passe est bien reçu.IBOutlet connecté mais ne fonctionnait pas
J'ai eu des problèmes avec Xcode agissant bizarre et se brisant récemment, qui a été corrigé en réinstallant Xcode, je l'ai fait à nouveau en pensant que cela pourrait être un autre problème, mais pas d'amour. Je pense que c'est une nuance d'IB que je ne sais pas à propos de
Je ne sais pas vraiment comment chercher ça, essayant de trouver quelque chose pendant des heures. L'aide serait encourageante.
PlayerCommand.h
#import "DiceRoll.h"
#import "diceController.h"
@interface playerCommand : NSObject
- (IBAction)roll:(NSButton *)sender;
@end
Playercommand.m
#import "playerCommand.h"
@implementation playerCommand
- (IBAction)roll:(NSButton *)sender {
DiceRoll *currentTurn = [[DiceRoll alloc] init];
[currentTurn rolldice];
diceController *currentFields = [[diceController alloc] init];
[currentFields updatetockNameField:[currentTurn diceValuesArray]];
}
@end
dicecontroller.h
@interface diceController : NSObject
-(void)updatetockNameField: (NSArray*) diceValues;
@end
dicecontroller.m
#import "diceController.h"
// declaring private properties
@interface diceController()
@property (weak) IBOutlet NSTextField *ActionField;
@property (weak) IBOutlet NSTextField *QuantityField;
@end
@implementation diceController
-(void)updatetockNameField:(NSArray *) diceValues {
switch ([[diceValues objectAtIndex:2] integerValue]) {
case 0 ... 1:
[[self ActionField] setStringValue:@"Up"];
break;
case 2 ... 3:
[[self ActionField] setStringValue:@"Down"];
break;
case 4 ... 5:
[[self ActionField] setStringValue:@"Div"];
break;
default:
[[self ActionField] setStringValue:@"Err"];
break;
}
switch ([[diceValues objectAtIndex:2] integerValue]) {
case 0 ... 1:
[[self QuantityField] setIntegerValue:5];
break;
case 2 ... 3:
[[self QuantityField] setIntegerValue:10];
break;
case 4 ... 5:
[[self QuantityField] setIntegerValue:20];
break;
default:
[[self QuantityField] setStringValue:@"E"];
break;
}
} //end of updatetockNameField method
@end
Pls poster du code, en particulier un exemple des appels dans "cette classe appelle celle avec les IBOutlets". Donnez aussi des noms aux classes "that" et "this", etc., afin que les gens puissent se référer à ces noms dans leurs réponses. –