2011-12-23 16 views
0

ラベル情報を持つ項目のリストを示すデータ配列があります。メディアセクションでは、ビデオを実行するためのURLを挿入します。 @ "Play Video"文字列の後にURL(NSURLを使用)をロードする正しい手順は何ですか?次に、ボタンを押すと、URLが読み込まれ、動画が表示されます。 URLは条件ごとに異なります。助けてくれてありがとう!NSURL文字列を配列に追加する手助けが必要

- (void)createData { 

NSMutableArray *playList = [[NSMutableArray alloc] init]; 
Play *play; 
NSArray *media; 

play = [[Play alloc] init]; 
play.title = @"Introduction"; 
play.part = @"Getting in the Game"; 
media = [[NSArray alloc] initWithObjects:@"Play Video", nil]; 
play.media = media; 
[playList addObject:play]; 

play = [[Play alloc] init]; 
play.title = @"Rule #1"; 
play.part = @"Getting in the Game"; 
media = [[NSArray alloc] initWithObjects:@"Play Video", nil]; 
play.media = media; 
[playList addObject:play]; 

play = [[Play alloc] init]; 
play.title = @"Rule #2"; 
play.part = @"Getting in the Game"; 
media = [[NSArray alloc] initWithObjects:@"Play Video", nil]; 
play.media = media; 
[playList addObject:play]; 

答えて

0

NSArrayの2番目の項目としてNSURLを含める方法を意味しますmedia

media = [[NSArray alloc] initWithObjects:@"Play Video", myNsUrl, nil]; 

は、1つのURL文字列からNSURLオブジェクトを作成することができます方法についていくつかの注意点およびサンプルコードについてhttps://stackoverflow.com/a/1981508/436641参照してください。

すでにNSURLオブジェクトを持っているだけでNSURLオブジェクト自体ではなく、そのオブジェクトの文字列表現を追加したい場合は:あなたはmedia配列を持っていたら、できる文字列「ビデオを再生」

media = [[NSArray alloc] initWithObjects:@"Play Video", [myNsUrl absoluteString], nil]; 

[media objectAtIndex:0]と取得され、URLは[media objectAtIndex:1]と取得できます。

OOの観点からは、理想的にはここでは配列を使用せず、プログラムをインスタンス化するためのMediaクラスを作成します。しかし、上記の質問に答えます(NSURLを配列に追加する方法)。

0
Play *play; 
NSArray *media; 
NSURL *url; 

play = [[Play alloc] init]; 
play.title = @"Introduction"; 
play.part = @"Getting in the Game"; 
//add this line 
url = [NSURL urlWithString:@"http://abc.com/video.mp4"]; 
media = [[NSArray alloc] initWithObjects:@"Play Video",url, nil]; 
play.media = media; 
[playList addObject:play]; 
+0

こんにちは、これは私がやったことです、それはコンパイルしますが、私はそれを呼び出すときにダンプします。私は以下を追加しました.... Play * play; NSArray * media; \t NSURL * url_; \t play = [[Play alloc] init]; \t play.title = @ "はじめに"; \t play.part = @ "ゲームに参加する"; \t url_ = [NSURL URLWithString:@ "http://abc.com/video.mp4"]; \t media = [[NSArray alloc] initWithObjects:@ "Play Video"、url_、nil]; play.media = media; \t [playList addObject:play];これはエラーなしでコンパイルされますが、スクリーンダンプを取得します。助言がありますか? –

+0

は画面ダンプを取得しますか? – samfisher

+0

2011-12-28 10:19:08.411 - [NSURL isEqualToString:]:認識できないセレクタがインスタンスに送信されました0x353550 2011-12-28 10:19:08.415 [2069:707] ***アプリを終了しています' - [NSURL isEqualToString::]:認識されていないセレクタがインスタンス0x353550に送られた' ***まずスローコールスタック: (0x382df8bf 0x37e2b1e5 0x382e2acb 0x382e1945 0x3823c680 0x31d8b20d 0x518d 0x31de79cb 0x31de6aa9 0x31de6233 0x31d8ad29 0x3823e22b 0x378d8381 0x378d7f99キャッチされない例外 'NSInvalidArgumentException'、理由によるもの0x378dc11b 0x378dbe57 0x378d3d85 0x382b3b4b 0x382b1d87 0x382b20e1 0x382354dd ... –

関連する問題