これを必要とするアプリケーションを試す前に、おそらくUITableView
beforeの使用を検討する必要があります。
私はこれをメモリから書き込んだので、テストしてすべてが機能することを確認してください...
ビューコントローラがテーブルビューデリゲートのメソッドを実装していることを確認し、UITableView
次のようにobjと配列を宣言します。
@interface YourTableViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
{
IBOutlet UITableView *theTableView;
NSMutableArray *theArray;
}
ストーリーボードでそれらをリンクしていることを確認してください。theTableView
上記のように表示されます。
アプリケーションをロードするときは、次のように記述します(どこかviewDidLoad
で問題ありません)。
theArray = [[NSMutableArray alloc] initWithObjects:@"Item 1", @"Item 2", @"Item 3", nil];
テーブルビューにセクションがいくつあるかを宣言する必要はないので、今のところこれは後でまで無視してください。ただし、行数を宣言する必要があります。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [theArray count]; // Return a row for each item in the array
}
次に、を描画する必要がありUITableViewCell
ます。簡単にするためにデフォルトのものを使用しますが、非常に簡単に独自のものを作成できます。
- (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;
}
トラック名を表示するテーブルができたら、次の方法を使用できます。
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 0)
{
NSString *arrayItemString = [theArray objectAtIndex:indexPath.row];
// Code to play music goes here...
}
}
上部で宣言したので、配列に'NSMutableArray
を追加する必要はありません。NSString
たとえば、複数の文字列を保存する場合は、独自のオブジェクトを作成できます。配列アイテムを呼び出す場所を変更することを忘れないでください。
最後に、オーディオを再生するには、このSO回答の回答を使用してみてください。
また、必須ではありませんが、リストをハードコーディングするのではなく、SQLiteデータベースを使用して再生したいトラックをリストに保存することもできます。次にNSMuatableArray
、データベースを呼び出した後にを入力します。