我有一個主視圖控制器,包含1個按鈕,當點擊時,推動一個細節視圖控制器和另一個按鈕,只是啓動一個模式視圖控制器有一個表。這個詳細視圖控制器有一個按鈕,當點擊時應該添加一個新的對象到由模式視圖控制器中的表加載的數組中。NSMutableArray不添加對象
問題是,添加一個新的對象按鈕不會添加到NSMutableArray。
當我在主視圖中放置一個按鈕並指定了將對象添加到NSMutableArray的相同方法時,它可以工作。當按鈕放置在通過導航控制器和模態視圖顯示的另一個視圖控制器上時,它不起作用。
下面是當按鈕在詳細視圖控制器被壓我的代碼:
- (IBAction)confirmBtnPressed
{
// Gets the current time and formats it
NSDate *timeNow = [NSDate date];
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setDateFormat:@"hh:mm a"];
// Gets the current date and formats it
NSDate *dateNow = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd, yyyy"];
NSString *currentTime = [timeFormatter stringFromDate:timeNow];
NSString *currentDate = [dateFormatter stringFromDate:dateNow];
NSString *timestamp = currentTime;
NSString *date = currentDate;
// This is where values gets saved
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:timestamp forKey:kTimeStampText];
[defaults setObject:date forKey:kDateText];
[defaults synchronize];
NSString *timeToday = [defaults objectForKey:kTimeStampText];
NSString *dateToday = [defaults objectForKey:kDateText];
tableVC.tableDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:timeToday, @"Time", dateToday, @"Date", nil];
[tableVC.tableArray addObject:tableVC.tableDict];
[tableVC.table reloadData];
}
這是我在主視圖中的控制器代碼當按鈕加載該表模態被壓:
// Table loaded
- (IBAction)viewHistoryPressed:(id)sender
{
if (!self.historyViewController)
{
self.historyViewController = [[HistoryViewController alloc] initWithNibName:@"HistoryViewController" bundle:nil];
}
[self presentModalViewController:historyViewController animated:YES];
}
這裏是我的viewDidLoad在我的桌面視圖控制器中:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *time = [defaults objectForKey:kTimeStampText];
NSString *date = [defaults objectForKey:kDateText];
tableDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:time, @"Time", date, @"Date", nil];
tableArray = [[NSMutableArray alloc] initWithObjects:tableDict, nil];
}
截圖
詳細視圖:
表視圖:主視圖的
是否在任何地方定義了** kDateText **和** kTimeStampText **?另外,請確保**時間**和**日期**不爲空。 – WrightsCS
@CReaTuS我接受了他們。我只是不接受那些不起作用的答案。 – jaytrixz
@WrightsCS yup,它被定義爲@「TimeStamp」和@「Date」。 – jaytrixz