Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从NSMutableArray更改为NSMutableDictionary时访问对象_Objective C_Nsmutablearray_Nsdictionary - Fatal编程技术网

Objective c 从NSMutableArray更改为NSMutableDictionary时访问对象

Objective c 从NSMutableArray更改为NSMutableDictionary时访问对象,objective-c,nsmutablearray,nsdictionary,Objective C,Nsmutablearray,Nsdictionary,在我的一个类中,我已从NSMutableArray更改为NSMutableDictionary 在我访问其他类中的对象之前,如下所示: tmpDeadline = [_taskDays[i] deadline]; //deadline is a object of another class [_taskDays[datePlace]addDatedTask:d]; //addDatedTask is a method in another class 并访问如下方法: tmpDea

在我的一个类中,我已从
NSMutableArray
更改为
NSMutableDictionary

在我访问其他类中的对象之前,如下所示:

tmpDeadline = [_taskDays[i] deadline]; //deadline is a object of another class  
[_taskDays[datePlace]addDatedTask:d]; //addDatedTask is a method in another class  
并访问如下方法:

tmpDeadline = [_taskDays[i] deadline]; //deadline is a object of another class  
[_taskDays[datePlace]addDatedTask:d]; //addDatedTask is a method in another class  
但是现在我不能再这样做了,因为我遇到了很多我真的不知道如何处理的错误。
我所知道的是,我希望使用另一个类的“截止日期”作为键,使用该类的实例作为对象

下面是代码(我给出了注释错误的代码:

为此:

[_taskDays setObject:d forKey:tmpLIUTaskDay.deadline];

taskDays
是字典,而您在使用它时,就好像它是中的数组一样
\u taskDays[i]

tmpDeadline = [_taskDays[i] deadline]; //*ERROR*
这里也有:

[_taskDays addObject:tmpLIUTaskDay]; //*ERROR*
要从字典中提取或添加新的键值对,应执行以下操作:

 tmpDeadline = [_taskDays[@"taskDay"] deadline];


为什么要将它从数组更改为字典?因为使用日期可以更容易地从日历访问任务:),所以字典的键是每月的日期?我不认为这会让事情变得容易。您是否考虑过在同一天执行多个任务?是的,这就是我使用的[_taskDays[datePlace]addDatedTask:d];因为我不知道如何更改它,所以我也会得到一个错误。我将尝试这些方法,但我如何使它在以下情况下工作:[[u taskDays[datePlace]addDatedTask:d];在这里,我需要从另一个类访问一个方法。我阅读了你的其他注释,你不能有相同的键两次。您将失去第一个值。您必须了解KVP/字典。还有你的另一个问题…
如何从另一个类访问方法
。创建类的实例并使用它。如果您想要相同的值集,则需要一个singleton类。键用于月中的每一天(NSDate),每天可以有多个任务。你能给我举个例子,说明如何使用dictionary从另一个类访问方法吗?
[_taskDays addObject:addObject:tmpLIUTaskDay forKey:@"taskDay"];