如何解决以下类型的警告?
我的切换代码是:
[mySwitch setAlternateColors:YES];
和For Array是:
NSMutableArray *tmp1 = [sortedIndexedArray objectAtIndex:indexPath.section];
NSMutableArray *tmpDict2 = [tmp1 objectAtIndex:indexPath.row];
NSString *companyNameString = [tmpDict2 objectForKey:@"firstname"];
NSString *flName = [tmpDict2 objectForKey:@"title"];
[searchCustomCell setDataForEvent1:companyNameString venue:flName];
答案 0 :(得分:4)
NSMutableArray不响应-objectForKey:
。您的变量名称“tmpDict2”具有误导性;数组不是字典。
数组存储有序的对象列表;字典存储键到值(对象)的无序映射。因此-objectForKey:
仅适用于NSDictionary。
也许你想要这个?根据你提供的内容,我无法确定......
NSDictionary *tmp1 = [sortedIndexedArray objectAtIndex:indexPath.section];
NSDictionary *tmpDict2 = [tmp1 objectAtIndex:indexPath.row];
至于你的开关,也许你创建了一个UISwitch的自定义子类来响应-setAlternateColors:
?在这种情况下,请尝试使用[(MyUISwitchSubclass *)mySwitch setAlternateColors:YES]
或仅使变量mySwitch
具有类型MyUISwitchSubclass *
。另一方面,如果这是一种私有方法,则应避免在应用中使用它。
总而言之,除非您提供更多信息和背景信息,否则我无法确切地告诉您要做什么。
答案 1 :(得分:1)
objectForKey
是NSDictionary
的实例方法。您正在NSMutableArray
上使用它。
答案 2 :(得分:1)
尝试使用此代码......
NSMutableArray *tmp1 = [sortedIndexedArray objectAtIndex:indexPath.section];
NSDictionary *tmpDict2 = [tmp1 objectAtIndex:indexPath.row];
NSString *companyNameString = [tmpDict2 objectForKey:@"firstname"];
NSString *flName = [tmpDict2 objectForKey:@"title"];
[searchCustomCell setDataForEvent1:companyNameString venue:flName];
...谢谢
答案 3 :(得分:0)
编译器抱怨UISwitch,因为该对象不包含setAlternateColors消息。 setAlternateColors实际上是私有API的一部分,因此如果您使用此消息,Apple将拒绝您的应用。
正如其他答案所指出,objectForKey是NSDictionary上的邮件,而不是NSMutableArray。
答案 4 :(得分:0)
NSMutableArray
没有objectForKey
方法。使用NSMutableDictionary
。