Как можно передать NSNumber методу, ожидающему логическое значение?

[[self.view.window subviews] makeObjectsPerformSelector:@selector(setUserInteractionEnabled:) withObject:[NSNumber numberWithBool:NO]];

Я видел этот код в ответе на другой вопрос ( Как отключить сенсорный ввод для всех представлений, кроме самого верхнего представления? ) и меня удивило, когда это сработало, поскольку setUserInteractionEnabled: ожидает BOOL (который, поскольку это не объект objective-c, не может быть передан в методах типа performSelector: withObject: ).

Где находится документация, в которой говорится, что передача NSNumber - это нормально? Работает ли она для всех методов или требуется специальная реализация? И работает ли она только с BOOL, или это можно сделать с такими типами, как int ?

6
задан Community 23 May 2017 в 11:48
поделиться