Публикации по теме 'cocoa'
Заставляет ли JavaScript разработчиков любить статическую типизацию?
Многие разработчики предпочитают статически типизированные языки, такие как C#, Java, C++, Go, Swift и Rust. Может ли быть причиной этого опыт работы с JavaScript?
Я вообще большой поклонник динамически типизированных языков, по крайней мере, я так думал. На самом деле я написал несколько статей, восхваляющих достоинства динамической типизации:
Зачем использовать динамический язык, а не статически типизированный ? Много преимуществ …
Установка значения UserDefaults на nil может не сработать, как вы думаете.
Чтобы очистить значение из UserDefaults, я раньше думал, что можно сделать что-то вроде этого:
UserDefaults.standard.set(nil, forKey: "myKey")
Оказывается, это работает по-разному в разных версиях iOS. Начиная с iOS 11, установка nil для ключа работает, как я и ожидал, и следующее печатает nil:
UserDefaults.standard.set(nil, forKey: "myKey")
print(UserDefaults.standard.data(forKey: "myKey"))
// nil
Однако в iOS 10 UserDefaults фактически пытается..
Использование композиции протокола для более удобного внедрения зависимостей
Мне нравится использовать композицию и внедрение зависимостей, но когда вам нужно внедрить каждую сущность с несколькими зависимостями, это может быстро стать громоздким.
По мере роста проекта, когда вам нужно добавить больше зависимостей в свои объекты, вам придется много раз реорганизовывать свои методы, поскольку все мы знаем, что Xcode в этом не помогает.
Есть более управляемый способ.
Проблема
Допустим, у вас есть объект, которому требуется поставщик изображений, поэтому вы..
Вопросы по теме 'cocoa'
В Какао вы предпочитаете NSInteger или int, и почему?
_1 _ / _ 2_ - это определенные какао замены для обычных встроенных типов.
Есть ли преимущества в использовании типов NS * над встроенными? Что вы предпочитаете и почему? У NSInteger и int одинаковая ширина на 32-битных / 64-битных платформах?
23964 просмотров
schedule
24.06.2023
Настройка разработчика для начала работы с программированием на какао / Mac
Я хотел бы начать экспериментировать с Какао и программированием для Mac OSX. На данный момент меня не очень беспокоит синтаксис / конструкции / особенности Objective C, но мне больше интересно узнать об эффективной настройке с точки зрения редактора...
3011 просмотров
schedule
03.04.2022
Открытие нестандартного URL-адреса в приложении Cocoa
В приложении, которое я пишу, у меня есть такой код:
NSWorkspace* ws = [NSWorkspace sharedWorkspace];
NSString* myurl = @"http://www.somewebsite.com/method?a=%d";
NSURL* url = [NSURL URLWithString:myurl];
[ws openURL:url];
Основное отличие...
1517 просмотров
schedule
10.04.2023
Использование пользовательского фреймворка
Ошибка, которую я получаю:
in /Users/robert/Documents/funWithFrameworks/build/Debug-iphonesimulator/funWithFrameworks.framework/funWithFrameworks, can't link with a main executable
Клифф отмечает:
пытаюсь включить фреймворк
не хочет...
8439 просмотров
schedule
07.07.2023
Как я могу динамически создать селектор во время выполнения с помощью Objective-C?
Я знаю, как создать SEL во время компиляции, используя @selector(MyMethodName:) , но я хочу создать динамический селектор из NSString . Это вообще возможно?
Что я могу сделать:
SEL selector = @selector(doWork:);
[myobj...
47730 просмотров
schedule
14.09.2022
Размещение и инициализация объекта в Objective C
В чем разница между следующими двумя способами выделения и инициализации объекта?
AController *tempAController = [[AController alloc] init];
self.aController = tempAController;
[tempAController release];
и
self.aController= [[AController...
33701 просмотров
schedule
03.10.2022
Изменение NSDate для представления 1 месяца с сегодняшнего дня
Я добавляю повторяющиеся события в приложение Cocoa, над которым работаю. Я повторяю каждый день и неделю, потому что я могу определить это математически (3600 * 24 * 7 = 1 неделя). Я использую следующий код для изменения даты:
[NSDate...
22310 просмотров
schedule
14.01.2024
Почему мне не следует использовать аксессоры Objective C 2.0 в init / dealloc?
В @ mmalc ответ на этот вопрос , он заявляет, что" в целом вам не следует не использовать методы доступа в dealloc (или инициализация) ". Почему mmalc так говорит?
Единственные действительно причины, о которых я могу думать, - это...
13027 просмотров
schedule
02.12.2022
Как я могу получить уведомление, когда пользователь закончит редактирование ячейки в NSTableView?
Мне нужно знать, когда пользователь закончит редактирование ячейки в NSTableView. Таблица содержит все календари пользователя (полученные из CalCalendarStore), поэтому для сохранения изменений пользователя мне нужно сообщить CalCalendarStore об...
5486 просмотров
schedule
04.07.2022
Существует ли шаблон для работы с ресурсами, не относящимися к памяти, при очистке объекта ObjC?
Для объектов, которые имеют некоторое состояние, связанное с ресурсом, не связанным с памятью, обычно предоставляется метод для явного «завершения» с этим ресурсом. Существует ли предпочтительная общепринятая практика для случая, когда попытка...
206 просмотров
schedule
05.09.2022
Как определить, находится ли символ валюты слева или справа от числа в MacOS
Как определить, должен ли символ валюты находиться слева или справа от числа, используя CFLocale / CFNumberFormatter в проекте Mac Carbon?
Мне нужно взаимодействовать с приложением электронной таблицы, которое требует, чтобы я передал число, символ...
1415 просмотров
schedule
02.03.2024
Как начать отладку приложения Cocoa с помощью URL-адреса?
Я отлаживаю приложение Cocoa, которое может действовать как обработчик пользовательского протокола URL. Приложение работает нормально, когда я нажимаю на ссылку после запуска приложения, но что-то вызывает сбой приложения, если оно не запущено во...
379 просмотров
schedule
01.06.2022
Как создать временный файл с Cocoa?
Несколько лет назад, когда я работал с C#, я мог легко создать временный файл и получить его имя с помощью этой функции:
Path.GetTempFileName();
Эта функция создаст файл с уникальным именем во временном каталоге и вернет полный путь к этому...
40519 просмотров
schedule
28.04.2022
Получать заголовки HTTP через NSURLRequest / NSURLConnection в Какао
Я работал над тем, чтобы выяснить, как получать заголовки HTTP через запрос, сделанный с помощью NSURLConnection. Обычно запрос выполняется с помощью чего-то столь же простого, как следующее:
NSURLConnection *connection = [[NSURLConnection...
10460 просмотров
schedule
26.03.2022
Как я могу использовать пользовательскую анимацию для onOrderOut в Core Animation?
Core Animation позволяет настраивать анимацию, реализуя метод actionForKey в вашем классе на основе CALayer:
- (id<CAAction>)actionForKey:(NSString *)key {
// Custom animations
return [super actionForKey:key];
}
Затем я могу...
1635 просмотров
schedule
19.06.2022
Начало разработки для Mac
Сколько времени требуется опытному Windows-программисту, чтобы научиться писать простые программы для Mac OS X?
С чего начать и какие инструменты понадобятся?
1858 просмотров
schedule
02.10.2023
Остановить перенос текста с помощью NSLayoutManager
Учитывая любую произвольную однострочную строку, моя цель состоит в том, чтобы преобразовать ее в растровое представление. Однако у меня нет возможности узнать его размеры заранее, поэтому мне приходится получать ограничивающий прямоугольник...
749 просмотров
schedule
03.09.2023
NSThread с ошибкой _NSAutoreleaseNoPool
У меня есть метод сохранения файлов в Интернете, он работает, но очень медленно. Затем я хотел бы сделать пользовательский интерфейс более плавным, поэтому я создаю NSThread для обработки медленной задачи.
Я вижу список ошибок, например:...
15771 просмотров
schedule
24.12.2022
Многопоточное приложение какао 10.5 работает медленно
Получил приложение для захвата видео какао, которое отлично работает в 10.4. Он использует NSThread для запуска драйвера видеозахвата. Когда приложение только что запущено, захват видео очень медленный (1-2 кадра в секунду). Но после изменения...
525 просмотров
schedule
22.11.2023
Создание службы OS X
Я пытаюсь создать службу OS X. Я нашел систему предоставления Services в документации Apple, однако мне не совсем понятно, что именно мне нужно делать. В настоящее время я использую приложение для регистрации моей службы (думая, что это будет...
2299 просмотров
schedule
19.12.2023