Iphone 从NSDictionary获取对象时出现问题

Iphone 从NSDictionary获取对象时出现问题,iphone,ios,Iphone,Ios,我正在制作一个包含两个数组的字典,一个用于键(你们可以在Dic中看到ID),一个用于值(你们可以在Dic中看到出生日期),我的字典是这样的 100000297621293 = "08/31/1990"; 100001904155266 = "12/30/1990"; 100003248631105 = "05/27/1990"; 100004327360299 = "01/01/1927"; 100000157646688 = "08/22/1989"; 100001069796883 = "1

我正在制作一个包含两个数组的字典,一个用于键(你们可以在Dic中看到ID),一个用于值(你们可以在Dic中看到出生日期),我的字典是这样的

100000297621293 = "08/31/1990";
100001904155266 = "12/30/1990";
100003248631105 = "05/27/1990";
100004327360299 = "01/01/1927";
100000157646688 = "08/22/1989";
100001069796883 = "12/03/1989";
100001475514001 = "03/09/1990";
100000717474427 = "08/05/1990";
100001221367192 = "08/05/1990";
100002586744158 = "04/15/1983";
这只是样品dic没有满

然后,在我有了另一个ID数组之后,我使用该数组从这个Dic获取出生日期,但我得到了空值,请帮助我,我的代码如下

注意:我用于键的数组在DIC中始终作为键存在

NSDictionary *birthdayDictionary = 
[[NSDictionary alloc] initWithObjects:_parssedArrayOfFaceBook forKeys:_parssedArrayOfFaceBookUid];

NSLog(@"asdas%@",birthdayDictionary.description);

NSMutableArray *matches = [NSMutableArray array];

for (NSString *key in _selecteduid) {
    NSLog(@" see it%@",key);
    NSString *selectedBirthDate = [birthdayDictionary objectForKey:key];
    NSLog(@" matched%@",selectedBirthDate);
    [matches addObject:selectedBirthDate];
    NSLog(@" matched%@",matches);

}

假设selecteduid是一个保留属性,并且其中包含值,则此代码可以正常工作

NSDictionary *birthdayDictionary = [NSDictionary dictionaryWithObjects:self.parssedArrayOfFaceBook
                                                                   forKeys:self.parssedArrayOfFaceBookUid];
    NSMutableArray *matches = [@[] mutableCopy];

    for (NSString *key in self.selecteduid){
        NSString *selectedBirthDate = birthdayDictionary[key];
        [matches addObject:selectedBirthDate];
    }

为什么
*selectedBirthDate
NSMutableArray
?出生日期(值)是字符串!不是阵列

NSString *selectedBirthDate = [birthdayDictionary objectForKey:key];

NSLog(@“asdas%@”,生日字典。说明);打印什么?我显示为样本Dicpls giv样本的Dic打印内容100000297621293=“08/31/1990”;100001904155266 = "12/30/1990"; 100003248631105 = "05/27/1990"; 100004327360299 = "01/01/1927"; 100000157646688 = "08/22/1989"; 100001069796883 = "12/03/1989"; 100001475514001 = "03/09/1990"; 100000717474427 = "08/05/1990"; 100001221367192 = "08/05/1990"; 100002586744158 = "04/15/1983";为什么
*selectedBirthDate
NSMutableArray
?出生日期(值)是字符串!不是阵列!使用
NSString*selectedBirthDate=…
。我也尝试过,但不起作用,这就是为什么我改为NSMutableArray,只是检查相同的代码在另一个项目中起作用。在Dic中,键的值在“”中,在另一个项目中不在“”,在“”中工作正常,但不是在这里不是字符串,是不是问题?试试这个,看看这个值到底是什么样的类<代码>NSLog(@“%@”,NSStringFromClass[[birthdayDictionary objectForKey:key]类])DIC中的密钥存在一些空值。这是问题的原因吗?是的,您不能将空值插入NSMutableArray,这将导致崩溃。在调用addObject之前检查NULL。