述語を使用してこれを行うことができます。
NSMutableArray *mutableArray = [@[ @[@{@"sales" : @"15023.00"}], @[[NSNull null]], @[[NSNull null]] ] mutableCopy];
NSLog(@"Array is: %@", [mutableArray debugDescription]);
NSPredicate *pred= [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings)
{
return ! ( [evaluatedObject isKindOfClass:[NSArray class]] && [evaluatedObject lastObject] == [NSNull null] );
}];
[mutableArray filterUsingPredicate:pred];
NSLog(@"Array is now: %@", [mutableArray debugDescription]);
結果:
前の値:
Array is: <__NSArrayM 0xa324130>(
<__NSArrayI 0xa3240b0>(
{
sales = "15023.00";
}
)
,
<__NSArrayI 0xa3240f0>(
<null>
)
,
<__NSArrayI 0xa324100>(
<null>
)
)
投稿述語:
Array is now: <__NSArrayM 0xa324130>(
<__NSArrayI 0xa3240b0>(
{
sales = "15023.00";
}
)
)