我有一個首選項視圖,顯示不同的表視圖取決於哪個分段控件被點擊。NSMutableArray,pList,Tableview泥濘和崩潰
我硬編碼了一些NSMutableArrays測試基本原則:
prefsIssuesList = [[NSMutableArray alloc] init];
[prefsIssuesList addObject:@"Governance"];
[prefsIssuesList addObject:@"Innovation and technology"];
...etc
prefsIndustriesList = [[NSMutableArray alloc] init];
[prefsIndustriesList addObject:@"Aerospace and defence"];
... etc
prefsServicesList = [[NSMutableArray alloc] init];
[prefsServicesList addObject:@"Audit and assurance"];
...etc
currentArray = [[NSMutableArray alloc] init];
currentArray = self.prefsIssuesList;
然後重新裝入currentArray的tableview中,加入UITableViewCellAccessoryCheckmark。 一切工作正常。
但現在我想要存儲羯羊對號在plist文件中開啓或關閉,並讀取此回。
理想的情況下想這樣
Root Dictionary
Issues Dictionary
Governance Number 1
Innovation and technology Number 0
etc
我有一個的plist至於工作了這一點
// Designate plist file
NSString *path = [[NSBundle mainBundle] pathForResource: @"issues" ofType:@"plist"];
// Load the file into a Dictionary
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
self.allNames= dict;
[dict release];
NSLog(@"Dict is %@", allNames); // All the data in the pList file
NSMutableArray *issueSection = [allNames objectForKey:@"Issues"];
NSLog(@"Issues is %@", issueSection); // The data is the Issues Section
NSString *issueVal = [issueSection objectForKey:@"Governance"];
NSLog(@"Governance is %@", issueVal); //The value of the Governance key
但我真正想要做的是通過問題詞典循環並獲得鍵/值對這樣
key = cell.textLabel.text
value = UITableViewCellAccessoryCheckmark/UITableViewCellAccessoryNone
depending wether it's 1 or 0
我假設我仍然可以將三個NSMutableArrays中的一個指定給currentArray,就像我在硬編碼版本中所做的一樣,並使用currentArray重新加載tableview。
然後修改這個代碼來構建的tableview
NSUInteger section = [indexPath section];
NSUInteger row = [indexPath row];
NSString *key = [keys objectAtIndex:section];
NSArray *nameSection = [names objectForKey:key];
static NSString *CellIdentifier = @"Cell";
//UITableViewCell *cell = [self.prefsTableView dequeueReusableCellWithIdentifier:SectionsTableIdentifier];
UITableViewCell *cell = [self.prefsTableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) {
cell=[[[UITableViewCell alloc]
initWithFrame:CGRectZero
reuseIdentifier: CellIdentifier] autorelease];
}
cell.textLabel.text = [nameSection objectAtIndex:row];
return cell;
但我的大腦已經融化,我已經花了六小時左右今天的Plist,NSArrays,NSMutableDisctionaries,standardUserDefaults收效甚微讀了。
我已經設法在UINavigationViews中使用UITableViews,使用SegmentedControls,下載異步XML,但是現在我終於被卡住了,或者兩者兼而有之。在什麼應該是相當簡單的鍵/值對。
任何關心給我一些白癡指針?
PS,當我說的喜好觀看我只是想說顯示boolea一個UITableView的更好的方法n個選項(帶有UITableViewCellAccessoryCheckmark),其中的XML位可顯示在應用程序中的其他位置 – JulianB 2011-04-13 01:07:46
對不起,但我想知道你確切的問題在哪裏?你能夠正確存儲數據嗎?檢索有問題嗎? – Ravin 2011-04-13 03:31:00