私はUIView
のすべての単一サブクラスを反復するカスタムクラスを持っています。私が得ないのは、UIContainerView
を免除するコードを追加できないということです。UIContainerView以外のすべてを反復する
コード(UIViewの+ Recursion.mで):それはUIContainerViewある場合
- (NSMutableArray*)allSubViews
{
NSMutableArray *arr= [[NSMutableArray alloc] init];
[arr addObject:self];
for (UIView *subview in self.subviews)
{
[arr addObjectsFromArray:(NSArray*)[subview allSubViews]];
}
return arr;
}
だから私はのためのループに追加したい、その配列に追加しないでください。私が試した:
- (NSMutableArray*)allSubViews
{
NSMutableArray *arr= [[NSMutableArray alloc] init];
[arr addObject:self];
for (UIView *subview in self.subviews)
{
if (![subview isKindOfClass:[UIContainerView class]]) <-- error use of undeclared identifier
[arr addObjectsFromArray:(NSArray*)[subview allSubViews]];
}
return arr;
}
完全なエラーメッセージ:
宣言されていない識別子の使用 'UIContainerView'
カテゴリクラスはUIContainerView
を認識していないように見えますか?
「UIContainerView」とは何ですか?それは公的なクラスではありません。 – rmaddy
Qに元のエラーメッセージを追加してください。どの識別子が宣言されていませんか? –