Публикации по теме 'objective-c'


Использование JavaScriptCore в рабочем приложении iOS
Этот пост о том, почему мы решили использовать JavaScriptCore, и о том, что мы узнали. Самыми большими проблемами при использовании JavaScriptCore в производственном приложении были оптимизация производительности для старых устройств и правильная сборка. К счастью, у этих проблем есть простые решения, которые просто не были задокументированы. Почему мы использовали JavaScriptCore? Важной частью нашего приложения был поиск. В наши цели входили: Быстрое обновление результатов поиска..

Почему разработчики приложений выбирают Swift, а не Objective-C?
Swift или Objective-C, что вы выберете для разработки мобильных приложений? Хотите верьте, хотите нет, но вы не единственный, кто не может выбрать наиболее подходящий язык программирования для любого проекта. В чем разница между Swift и Objective-C? Это общий вопрос для тех, кто еще не работал с обеими технологиями. Swift против Objective-C, битва продолжается… И Swift, и Objective-C стали лидерами среди лучших языков программирования для разработки приложений для iOS. Они..

Краткое описание блоков успеха / неудач в Objective-C
-(void) doJob :(Job*)job completion: (completionBlockWithArray) completion { // do some stuff here that fails or succeeds success:^(SomeType y) { /// completion(y, YES); } failure:^(SomeType y) { /// completion(y, NO); }]; Напоминаем, что завершение - это блок, который * передается * в эту функцию в качестве параметра. Вот пример передачи блока завершения, который использовался выше в случае успеха / неудачи. [self doJob:self.job completion:^(BOOL success, NSArray *array,..

ЕСЛИ ( код письма == левый мозг + правый мозг)
Мне всегда казалось, что художники и инженеры — одни и те же люди. Я художник И инженер, и я действительно не вижу разницы между ними. И художники, и инженеры, как правило, очень креативны, очень умны и несколько замкнуты. Но художники и инженеры тоже склонны разделяться на отдельные группы, и это печально. Художники знают, что остальной мир считает их занудами, но они также склонны думать, что инженеры еще зануднее, чем они на самом деле. А инженеры склонны думать, что они намного..

Что происходит, когда мы вызываем метод для объекта nil? (Цель C)
Просто столкнулся с этой проблемой несколько недель назад. Подумайте о случае, когда мой код может вызвать метод для объекта nil. Я думал, что мой код выйдет из строя, когда дело дойдет до этой строки кода, но, по волшебству, это не так. Итак, вот проблема. Предположим, у нас есть класс Human с методом f ** k: class Human { void f ** k (); } Я - объект класса Human. Что будет, когда мы запустим этот код? Человек * я; мне = ноль; me.f**k; Большинство людей подумают..

Оптимизация производительности UITableView для повышения плавности прокрутки списка
UITableView — это элемент управления, который чаще всего используется при разработке iOS и наиболее подвержен проблемам с производительностью. В этой статье перечислены некоторые моменты оптимизации производительности для повышения плавности прокрутки списка. Повторное использование Когда TableView необходимо отобразить ячейку, он сначала найдет повторно используемую из созданной ячейки, а затем отобразит ее на экране. Как правило, ячейки, которые можно использовать повторно, выходят за..

Стекпойнт! Точка останова с использованием стеков вызовов
Продолжение моего предыдущего рассказа о перезаписи свойств только для чтения с помощью LLDB. На этот раз мы создадим точку останова, которая останавливается, когда стек вызовов соответствует строгому порядку и строгому подмножеству. Stackpoint.py ‹- GIST! import lldb """ NOTE: LLDB print adds a bunch of other stuff to the string like in this example (lldb) script -- ENTERED PYTHON REPL >>> print lldb.frame.GetDisplayFunctionName() ::-[ASLayoutTransition..