YES и NO - это BOOL, то есть не класс Objective-C. Контейнеры Foundation могут хранить только объекты Objective-C.
Вы должны обернуть их в NSNumber, например:
NSNumber* yesObj = [NSNumber numberWithBool:YES];
NSMutableArray* arr = [[NSMutableArray alloc] initWithObjects:
yesObj, yesObj, yesObj, yesObj, nil];
NSLog(@"%d", [[arr objectAtIndex:1] boolValue]);
Причина, по которой он принимает NSString, заключается в том, что NSString является своего рода классом Objective-C.