2016-01-28 4 views
0

В Xamarin.iOS, метод CVPixelBuffer.GetAttributes имеет параметр «атрибуты» типа NSDictionary. Например, можно назвать так:Почему CVPixelBuffer.GetAttributes принимает аргумент типа NSDictionary?

myPixelBuffer.GetAttributes(myAttributesDictionary); 

Это не имеет никакого смысла. Не пункт Получить функция, чтобы получить требуемое значение? Почему его подпись требует, чтобы я передал значение в? Почему этот метод не имеет 0 параметров, как в:

myAttributesDictionary = myPixelBuffer.GetAttributes(); 

???

ответ

1

CVPixelBuffer.GetAttributes связывает собственную функцию CVPixelBufferCreateResolvedAttributesDictionary, которая принимает массив словарей.

+0

Ум, хорошо ... Так почему же нативная функция принимает аргумент? (Еще один вопрос). –

+0

Вы прочитали документацию для этой функции? –

+0

Там мы идем, спасибо за ссылку. Чтобы упростить, ** ответ на мой вопрос таков: ** Атрибуты, которые вы передаете IN, являются атрибутами, которые могут или не могут быть совместимы с атрибутами пиксельного буфера. Возвращаемое значение функции содержит (если возможно) атрибуты, которые совместимы как с вашими желаемыми/переданными, так и с буферами. Если такой набор не может быть выполнен, метод выдает ошибку. Поэтому, если вы просто хотите использовать его, как обычный 'Get', не указывайте никаких желаемых атрибутов. –

Смежные вопросы