Helpers - компьютеры, интернет, программирование

Почему sendAction: не работает, а PerformSelector: работает?

У меня есть собственный класс, который поддерживает механизм целевого действия, но странно в этом конкретном случае, когда я пытаюсь вызвать действие, выполнив:

[NSApp sendAction:action_ to:target_ from:self]

это не работает, но этот способ работает:

[target_ performSelector:action_ withObject:self];

Очевидно, что и target_, и action_ имеют допустимые значения.

Это не имеет большого значения, так как я заработал.

Я просто не могу понять, почему -[NSApplication sendAction:to:from:] не работает, так как это выглядит довольно простой операцией. Я использовал sendAction:... в прошлом без проблем, но, похоже, между ними есть существенная разница, кроме того факта, что sendAction имеет механизм для поиска объекта, который отвечает на сообщение, если его целью является nil.


Ответы:


1

Вы уверены, что NSApp не является nil в то время, когда вы делаете sendAction:to:from:?

Если да, то ничего не будет. Чтобы убедиться, что NSApp является допустимым объектом, выполните [NSApplication sharedApplication] хотя бы один раз или объедините их:

[[NSApplication sharedApplication] sendAction:action_ to:target_ from:self];
25.09.2011
Новые материалы

Интуитивное понимание тензоров в машинном обучении
Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

Почему объяснимость так важна прямо сейчас?
По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..