Публикации по теме '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..