Comments 14
круто! ")
Хотелось бы статью по блокам. Как они появились, что они дают, как использовать ESBlock в <4.0 и т.п.
Если Вы считаете что такая статья нужна — могу написать, просто мне казалось таких достаточно. Использовать в ios < 4.0 так же как и в ios >= 4.0, только нельзя вызывать сишные Block_copy и Block_release, вместо них [ block_ copy ] и [ block_ release ].
на хабре не было :) а так же описание своего опыта не повредит :)
Хорошо, оформим :)
там про snow leopard :)
а если серьёзно, то я бегло смотрел видео с wwdc`10, и там показывали как блоки используются дл анимации и т.п.
т.е. хотелось бы по русски прочитать о том, как и где и в каких случаях используются блоки именно в iOS
а если серьёзно, то я бегло смотрел видео с wwdc`10, и там показывали как блоки используются дл анимации и т.п.
т.е. хотелось бы по русски прочитать о том, как и где и в каких случаях используются блоки именно в iOS
testblock = ^(char *s) { printf("String is %s\n", s); };
testblock("TEST!");
почему это не сделать в виде функции? это из примера по ссылке.
тут — landonf.bikemonkey.org/code/iphone/Using_Blocks_1.20090704.html — для примера UIAlertView
Вопрос — для чего? ведь и селекторами можно было всё тоже самое сделать
поправить теги не мешало бы.
Гм. Я так понимаю в случае поключения данной либы, она перекроет стандартную реализацию методов в UIView и т.п?
То есть. по сути. если мы поддерживаем девайсы с 3.0+ и вплоть до 4.0+ то для данной либы нужно отписать еще кучу проверок, чтобы ESBlock'и выполнялись исключительно на девайсах 4.0?
Я к чему веду, в случае запуска на 4.0 и выше не будет конфликтов с нативной реализацией блоков?
То есть. по сути. если мы поддерживаем девайсы с 3.0+ и вплоть до 4.0+ то для данной либы нужно отписать еще кучу проверок, чтобы ESBlock'и выполнялись исключительно на девайсах 4.0?
Я к чему веду, в случае запуска на 4.0 и выше не будет конфликтов с нативной реализацией блоков?
Не будет, насчет UIView например, недостающие методы добавлены в категории UIView, и проверено, что в 4-ке например все равно вызываются нативные методы вместо переопределенных (самого такое поведение удивило, но обрадовало). В NSArray например недостающие методы для работы с блоками добавляются только в случае если их нет. В самом рантайме блоков добавленные метод Block_release и Block_retain переименованы, что бы избежать конфликтов.
Sign up to leave a comment.
Используем блоки в IOS < 4.0