2010-01-07 5 views
0

Je ne comprends pas très bien, mais au fond j'essaye de cliquer sur un bouton et d'ajouter une valeur à mon NSMutableArray myArray qui est une propriété. Je pensais que ma méthode qui serait appelée quand un bouton est pressé serait quelque chose comme:NSArray et Sandbox Question

- (IBAction)addInterval { 
NSString *string = @"test"; 
[self.myArray addObject:string]; 
} 

Mais je ne comprends pas pourquoi cela ne fonctionne pas?

De plus, le Wifi, le contrôle du volume et le Bluetooth ne sont-ils pas tous dans notre bac à sable?

+0

J'ai essayé de faire des recherches en ligne et est-ce parce que j'ai besoin d'allouer et d'initialiser mon objet en premier? Je remarque que beaucoup d'exemple de code crée d'abord un objet, comme disons, crée un tableau, alloue, initialise, puis place ce tableau dans le tableau de propriétés, puis le libère. Pourquoi est-ce habituellement fait de cette façon? – Crystal

Répondre

2

En général, pour que votre IBAction soit appelé, il doit avoir un paramètre, par ex.

-(IBAction) addInterval: (id)sender { 
} 

Aussi, assurez-vous que vous avez lié l'action du bouton correctement à l'intérieur du concepteur d'interface utilisateur - vous devriez le voir comme une prise d'action pour le bouton.

Pour vous assurer que votre méthode est appelée, tenir une ligne dans la méthode comme:

NSLog(@"Called addInterval action"); 

Bluetooth ne fonctionne pas dans bac à sable, connexion Wi-Fi fonctionnera dans le sens que la connexion réseau fonctionne, et L'exemple d'accessibilité devrait vous aider ici.

0

Peut être l'une des rares choses, mais le problème classique ici est d'oublier de connecter le bouton à l'action dans le constructeur de l'interface. Avez-vous vérifié cela?

Je suppose également que vous avez synthétisé la propriété myArray afin que vous puissiez utiliser la notation par points.