我有一個程序連接到MAMP服務器並選擇我的數據庫並在Xcode模擬器中顯示內容。現在我有2個選項卡,兩個數據都是相同的。我希望這些標籤分離要顯示在每個標籤中的數據類型。 (1個選項卡應該顯示葡萄酒類型和其他顯示酒國家)在程序中顯示數據庫內容的iOS程序,由標籤分隔
我認爲我必須做一個類(NSObject的子類)拉動數據,然後另一個視圖控制器與一個可變數組持有每個選項卡所需的數據,但是我如何執行此操作?我如何創建一個MutableArray?
在這裏,代碼在我TableViewController.m,它連接到使用JSON我的數據庫:
- (無效)viewDidLoad中 { [超級viewDidLoad中]; NSURL * url = [NSURL URLWithString:@「http:// [localhost]:8888/wine.php」]; //修改此以匹配您的網址。
NSString *jsonreturn = [[NSString alloc] initWithContentsOfURL:url]; // Pulls the URL
NSLog(jsonreturn); // Look at the console and you can see what the restults are
NSData *jsonData = [jsonreturn dataUsingEncoding:NSUTF32BigEndianStringEncoding];
NSError *error = nil;
// In "real" code you should surround this with try and catch
NSDictionary * dict = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];
if (dict)
{
rows = [[dict objectForKey:@"wine"] retain];
}
NSLog(@"Array: %@",rows);
[jsonreturn release];
}
然後創建用於實現代碼如下的另一種方法:
編譯標記 - 表視圖數據源
- (NSInteger的)的tableView:(UITableView的*)的tableView numberOfRowsInSection: (NSInteger)部分{return count [rows count]; }
//自定義表格視圖單元格的外觀。 - (UITableViewCell的*)的tableView:(UITableView的*)的tableView的cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
NSDictionary *dict = [rows objectAtIndex: indexPath.row];
//cell.textLabel.text = [dict objectForKey:@"id"];
//cell.textLabel.text = [dict objectForKey:@"wineColor"];
//cell.textLabel.text = [dict objectForKey:@"wineGrape"];
cell.textLabel.text = [dict objectForKey:@"wineCountry"];
cell.detailTextLabel.text = [dict objectForKey:@"id"];
return cell;
}
與此相同的數據(酒的國家)將同時顯示在葡萄&國家標籤。我如何創建一個可變數組來獲取每個標籤中應顯示的數據?
所以我創建另一個視圖控制器和複製相同的tableview數據源代碼,但取消註釋葡萄項目的文本標籤?或者還有什麼我必須做的呢? @HackyStack謝謝你的回答 – deezy