是否可以從外部XML文件動態填充UIPickerView數據。 例如,我將在我的選取器視圖中使用TextA,TextB和TextC,並且在遠程服務器中的XML文件中具有相同的內容。我已經成功開發了從遠程服務器讀取XML數據並在我的tableview中顯示文本(它們是標題和url)。但現在我正試圖從我的XML文件中填充我的UIPickerView數據。這樣做的主要目的是動態控制我XML文件中的UIPickerView數據。 無論如何要做到這一點?UIPickerView從外部XML文件動態填充數據
0
A
回答
0
我做了以下顯示標題和我的一個應用程序中的網址。我想同樣來填充拾取數據,而不是表格單元格: This is a link of one of my apps這表明了下面的代碼執行:
urlString = @"http://jeewanaryal.web44.net/iPhoneXML/nepaliMoviesNews.xml";
data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
dict = [XMLReader dictionaryForXMLData:data error:nil];
newsItems = [[NSMutableArray alloc] initWithArray:[[[dict objectForKey:@"list"] objectForKey:@"lists"] objectForKey:@"news"]];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
CustomCell *cell= [[CustomCell alloc] initWithFrame:CGRectMake(0, 0, 300, 60)];
// Default to no selected style and not selected
cell.selectionStyle = UITableViewCellSelectionStyleNone;
// Set the image for the cell
[cell setTheImage:[UIImage imageNamed:[NSString stringWithFormat:@"Arrow3.png"]]];
NSMutableArray *temp = [[NSMutableArray alloc] init];
for (NSDictionary *fruitDict in newsItems) {
//UILabel *songTitle = [[UILabel alloc] initWithFrame:CGRectMake(40, 200, 300, 40)];
[temp insertObject:[NSString stringWithFormat:@"%@",[[fruitDict objectForKey:@"title"] objectForKey:@"text"]]
atIndex:0];
//cell.textLabel.text = [NSString stringWithFormat:@"%@",[[fruitDict objectForKey:@"title"] objectForKey:@"text"]];
//[self.view addSubview:songTitle];
}
//NSLog(@"\n\n temp: \n %@",temp);
cell.textLabel.text = [temp objectAtIndex:indexPath.row];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.textLabel.font = [UIFont fontWithName:@"Gill Sans" size:20];
cell.textLabel.textColor = [UIColor colorWithRed:102.0/255 green:204.0/255 blue:170.0/255 alpha:1];
//cell.textLabel.textColor =[UIColor colorWithRed:(CGFloat)0.24 green:(CGFloat)0.7 blue:(CGFloat)0.45 alpha:(CGFloat)1];
cell.backgroundColor = [UIColor blackColor];
[[cell textLabel] setTextAlignment:UITextAlignmentLeft];
//cell.textLabel.adjustsFontSizeToFitWidth = YES;
//cell.detailTextLabel.numberOfLines = 2;
return cell;
}
1
您可以使用NSXMLParser
解析XMl文件。它是一個事件驅動的解析器,因此您必須設置一個委託來處理所有回調,並從解析的節點創建數組和字典。
你也可以使用類似XMLReader。這使您可以簡單地將xml作爲NSData或NSString對象傳遞,並獲得解析的NSDictionary。然後你可以使用它來填充UIPickerView。
雖然這有點不方便,但如果可以的話,使用.plist
文件會是更好的選擇。當然,如果你想從其他平臺上訪問相同的信息,那也不是一種選擇。
然後,你必須下載該文件後做的是:
NSArray *onlineList = [plistAsString propertyList];
或者,如果您將文件下載到硬盤:
NSArray *onlineList = [[NSArray alloc] initWithContentsOfFile:pathToPlistFile];
// release if not using ARC.
+0
丟棄此... – jeewan
相關問題
- 1. 從另一個XML文件動態填充XML數據(Java)
- 2. 從文件填充動態數組
- 3. 從sqlite填充uipickerview
- 4. SVG填充外部文件
- 5. 從外部JSON文件填充jsTree
- 6. iOS - 填充靜態UIPickerView
- 7. 使用來自數據庫的數據從外部Javascript動態填充DIV
- 8. 填充數據集從XML
- 9. 從xml文件填充ViewList
- 10. 從XML文件填充ListView
- 11. 動態填充從數據庫
- 12. 從數據庫動態填充Combobox
- 13. 從數據庫動態填充javaFX treeView
- 14. 從Feed中填充UIPickerView
- 15. UIPickerView未填充
- 16. 填充UIPickerView與
- 17. 動態創建多個填充了XML數據的文本框
- 18. 訪問JSON文件來填充UIPickerView
- 19. 如何用.plist文件填充UIPickerView?
- 20. 部分從文件中填充數組
- 21. 調用外部Web服務以填充動態數據下拉組件
- 22. 從文本文件填充數據表
- 23. rspec使用外部文件中的數據填充變量
- 24. Laravel |雄辯地填充外部數據
- 25. 如何從外部屬性文件填充Liquibase參數值?
- 26. 從XML文件填充文本框
- 27. 填充的LinearLayout外部佈局文件
- 28. 填充與外部JS文件
- 29. 用鬍子填充外部.html文件?
- 30. NSArray的填充uiPickerView
是否需要XML?使用.plist文件會更容易。 – DrummerB
雅我可以使用.plist爲此,但我想控制從我的外部網站pickerview內的數據,因爲pickerview中的所有數據都是動態的,他們將來會改變。什麼是最好的設計方法? – jeewan