Вы можете использовать containsObject:
метод NSArray
«с, как это:
if ([@[@1, @4, @7] containsObject:@(i)]) {
...
}
Полезность такого подхода улучшается при длине списка: с трех пунктов, ваше решение выглядит лучше, но когда-то вы пересекаете границу около десяти чисел, это решение становится все более и более удобным для чтения:
if ([@[@1, @3, @12, @17, @23, @27, @31, @41, @43, @57] containsObject:@(i)]) {
...
}
вы можете сделать именованный массив для списка ехра ected константы @[@1, @4, @7]
чтобы укоротить if
, как это:
NSArray *expect = @[@1, @4, @7];
...
if ([expect containsObject:@(i)]) {
...
}
Ничего плохого в том, что два токовых ответы менее ясны. Кент Бек: «« Самое простое, что могло бы работать »- Кент Бек» – zaph