NSDictionary を取る初期化子を持つクラスがあります。
-(id)initWithVector:(NSDictionary *) vectorDictionary;
NSDictionary を渡そうとすると、エラーが発生します。
'VectorClass * _strong' をパラメーター タイプ 'NSDictionary *' に送信する互換性のないポイント タイプ
コード:
// myVectorList is an array of dictionaries
for (NSDictionary *vector in self.myFielder.myVectorList)
{
if ([vector isKindOfClass:[NSDictionary class]])
{
// hardcoded for testing purposes
if ([[vector objectForKey:HANDLE] isEqualToString:@"pt07p48u17aj75qx8n2fri9jlkrc262yt8"])
{
// GET THE WARNING ON PASSING "VECTOR"
VectorClass *vector = [[VectorClass alloc] initWithVector:vector];
[vector retrieveVectorAttributeTable];
[vector retrieveVectorMetadataTable];
}
}
}
(NSDictionary *)vector を型キャストした場合、警告はありません。
ベクトルは辞書でなければならないのに、なぜ警告が表示されるのですか?