2011-12-23 48 views
0

我有一個數據數組,顯示包含標籤信息的項目列表。在媒體部分,我想插入一個URL來運行視頻。在@「播放視頻」字符串之後加載一個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

你的意思是如何將NSURL作爲第二項包含在NSArray中media

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

https://stackoverflow.com/a/1981508/436641關於如何一個可以從一個URL字符串創建一個NSURL對象一些注意事項和示例代碼。

如果你已經有了一個NSURL對象,只想補充一點,對象的字符串表示,而不是NSURL對象本身:

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

一旦你有你media陣列,「播放視頻」字符串可以檢索爲[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

嗨,這是我所做的,它編譯但是當我嘗試調用它時傾倒。我添加了以下內容.... 玩*玩; 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:@「播放視頻」,url_,nil]; play.media = media; \t [playList addObject:play];這編譯沒有錯誤,但獲得屏幕轉儲。有什麼建議麼? – 2011-12-28 05:04:09

+0

獲取屏幕轉儲? – samfisher 2011-12-28 09:26:13

+0

2011-12-28 10:19:08.411 [2069:707] - [NSURL isEqualToString:]:無法識別的選擇器發送到實例0x353550 2011-12-28 10:19:08.415 [2069:707] ***終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是: ' - [NSURL isEqualToString:]:無法識別的選擇發送到實例0x353550' ***第一擲調用堆棧: (0x382df8bf 0x37e2b1e5 0x382e2acb 0x382e1945 0x3823c680 0x31d8b20d 0x518d 0x31de79cb 0x31de6aa9 0x31de6233 0x31d8ad29 0x3823e22b 0x378d8381 0x378d7f99 0x378dc11b 0x378dbe57 0x378d3d85 0x382b3b4b 0x382b1d87 0x382b20e1 0x382354dd ... – 2011-12-28 15:22:24