我有一个datepicker和一个UIBarButtonItem,当按下UIBarButtonItem时,它会调用一个方法将所选日期添加到NSMutableDictionary。代码如下所示:
diaryDateArr = [[NSArray alloc] initWithObjects:diaryDate, nil];
NSString *dateKeyStr = [NSString stringWithFormat:@"dateKey%d", dicDates.count+1];
diaryKeyStrArr = [[NSArray alloc] initWithObjects:dateKeyStr, nil];
dicDates = [[NSMutableDictionary alloc] initWithObjects:diaryDateArr forKeys:diaryKeyStrArr];
NSArray * allKeys = [dicDates allKeys];
for(NSString *key in [dicDates allKeys]) { NSLog(@"%@",[dicDates objectForKey:key]);}
NSLog(@"Count : %d", [allKeys count]);
然而,这一切看起来都有效,直到我计算出NSMutableDictionary中有多少个键并且count返回为1,即使我点击两个不同日期的两次按钮理论上应该(或者至少我想要的)应该添加另一个日期,该日期在日期选择器中选择进行计数2.但它永远不会从1
更改如何将对象和键放入字典?
此致
答案 0 :(得分:1)
Count返回字典中的条目数 - 一个。您可以通过执行以下操作来访问它:[dicDates valueForKey:diaryKeyStrArr];
如果再次单击该按钮,则会将字典设置为新字典。也许试试这个:
if (!dicDates) {
dicDates = [[NSMutableDictionary alloc] initWithObjects:diaryDateArr forKeys:diaryKeyStrArr];
} else {
dicDates[dateKeyStr] = diaryDateArr;
}