Vous devriez probablement envisager d'utiliser un UITableView
avant d'essayer une application qui l'exige.
Je l'ai écrit de mémoire afin s'il vous plaît tester et confirmer tout cela fonctionne ...
Assurez-vous que votre contrôleur de vue implémente les méthodes de la vue de la table des délégués, et déclarer une UITableView
obj et tableau comme tel:
@interface YourTableViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
{
IBOutlet UITableView *theTableView;
NSMutableArray *theArray;
}
Assurez-vous de les lier dans votre storyboard. Vous devriez voir theTableView
comme défini ci-dessus.
Lorsque vous charge d'application, écrivez ce (quelque part comme viewDidLoad
serait bien):
theArray = [[NSMutableArray alloc] initWithObjects:@"Item 1", @"Item 2", @"Item 3", nil];
Vous n'avez pas besoin de déclarer combien de sections il y a dans votre vue de la table, donc pour ne pas tenir compte maintenant que plus tard . Vous devez cependant déclarer combien de lignes il y a:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [theArray count]; // Return a row for each item in the array
}
Maintenant, nous devons attirer l'UITableViewCell
. Pour simplifier, nous utiliserons celui par défaut, mais vous pouvez facilement créer le vôtre.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// This ref is used to reuse the cell.
NSString *cellIdentifier = @"ACellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
// Set the cell text to the array object text
cell.textLabel.text = [theArray objectAtIndex:indexPath.row];
return cell;
}
Une fois que vous avez la table affichant les noms des pistes, vous pouvez utiliser la méthode:
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 0)
{
NSString *arrayItemString = [theArray objectAtIndex:indexPath.row];
// Code to play music goes here...
}
}
Dans le NSMutableArray
nous déclarions en haut, vous ne devez pas ajouter NSString
« s au tableau. Vous pouvez créer votre propre objet si vous voulez stocker plusieurs chaînes par exemple. N'oubliez pas de modifier où vous appelez l'élément de tableau.
Enfin, pour lire l'audio, essayez d'utiliser la réponse this SO réponse. En outre, bien que ce ne soit pas nécessaire, vous pouvez utiliser une base de données SQLite pour stocker les pistes que vous souhaitez lire dans une liste plutôt que de coder en dur la liste. Puis remplissez le NSMuatableArray
après avoir appelé la base de données.
J'ai fait tout ce que vous avez énuméré, mais rien ne s'affiche dans la vue de la table.Dois-je relier quoi que ce soit d'autre dans le storyboard? –
Vous devez lier 'UITableView' à' theTableView' et vous devez configurer les délégués 'UITableView' (' UITableViewDataSource' et 'UITableViewDelegate') dans votre storyboard. –