Показаны сообщения с ярлыком xCode. Показать все сообщения
Показаны сообщения с ярлыком xCode. Показать все сообщения

понедельник, 3 июня 2013 г.

Offtopic. Человек написал...

"Не могли бы Вы мне помочь с компонентами ExprDraw и ExprMake?"

Я ответил - "с удовольствием. Чем именно помочь?"

И тишина... Наверное - помог :-) Поддержал так сказать морально...

P.S. Тем кто спрашивает "как встроить формулу в MEMO-поле" - я бы посоветовал бы почитать GoF ("Банду четырёх"), хотя бы главу про "глифы". Формула (или картинка) и есть - "глиф". Подумайте об этом. На том месте, где можно вывести "символ" - можно вывести и "глиф". Достаточно ПЕРЕОПРЕДЕЛИТЬ высоту/ширину "глифа", а также функцию отрисовки. И - дело в шляпе. Ещё можно посмотреть на xCode и поискать в интернете - kCTRunDelegateAttributeName . Например - http://www.pvsm.ru/ios-development/29392.

P.P.S. http://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B8%D1%84

P.P.P.S И ещё раз - http://18delphi.blogspot.com/2013/04/blog-post_10.html и http://18delphi.blogspot.com/2013/04/blog-post_8517.html

P.P.P.S. Т.е. если стоит задача "вывести формулу (или картинку) в MEMO или RichEdit", то вы просто вешаете "обработчик" на отрисовку (и измерение ширины/высоты) КАЖДОГО символа, и дальше в этом обработчике - делаете всё, что вам заблагорассудится. Как то так.. Дальше нужен пример?

P.P.P.P.S. Ещё раз - Картинка (или формула) и есть - "символ", т.е. - "глиф". КАЖДЫЙ "глиф" имеет свои метрики (ширину и высоту) и функцию отрисовки. Думайте так, как будто "кто-то" рисует за вас этот "глиф" (и измеряет его). А если хотите чего-то сложного типа формулы или картинки - поймите, что именно вам эти функции и надо обеспечить.

P.P.P.P.P.S. "Рецепта" на ВСЕ СЛУЧАИ жизни - я вам не дам. Разве, что только устно. Да и то - не факт. Можно выложить "супер-компонент", рисующий и текст и картинки и формулы, но там опять же - будут вопросы. Много вопросов. Проще "дать удочку", нежели "накормить рыбой".

среда, 1 мая 2013 г.

Чего реально не хватает в редакторе xCode по сравнению с Delphi

Чего реально не хватает в редакторе xCode по сравнению с Delphi, так это нумерованных меток. Ну которые Ctrl-K-Цифра/Ctrl-Q-Цифра. Гениальная вещь. Почему в других редакторах её нет?

среда, 10 апреля 2013 г.

Что мне ещё нравится в xCode

Так это "кластеризация" классов.

Если мы пишем [[NSString alloc] initWithFormat XXX] то создаётся ОДНА реализация, а если мы пишем [[NSString alloc] initFromFile YYY], то - ДРУГАЯ.

Уважаю....

Жаль, что в прикладных классах всё это проделать сложно.

И отсюда все эти безумные конструкции вида:

- (id) init
{
 if (self = [super init] {
  myField = 0;
 }
 return self;
}

Чего мне не хватает в Delphi по сравнению с xCode

Так это НОРМАЛЬНОГО СТАТИЧЕСКОГО анализатора.

Или может быть я всё проспал и такое уже есть?

Ну и ДИНАМИЧЕСКОГО - тоже. Про AQTime etc - я знаю, но в xCode - явно лучше. Он утечки показывает - ПРАКТИЧЕСКИ с точностью до строчки.

Понимаете - я был совсем "чайник" в xCode (хотя когда читал мануал - я СМЕЯЛСЯ - "ну что вы мне про подсчёт ссылок рассказываете - я же "гуру" в них, я же - "сам всё это придумал")... Но когда я запустил СТАТИЧЕСКИЙ анализатор кода - Я БЫЛ ПОРАЖЁН.. Он мне показал ТАКИЕ места, о которых бы я никогда бы не подумал..

А уж когда запустил ДИНАМИЧЕСКИЙ (Memory Leaks) - я был поражён ещё БОЛЬШЕ...

Это ТОЛЬКО у меня такие руки кривые? Или такие инструменты всё же востребованы на рынке?

Рассказать кстати - как я считаю количество неосвобождённых объектов в Delphi? Или неинтересно?

понедельник, 8 апреля 2013 г.

Про "парадокс" BecomeFirstResponder vs CanBecomeFirstResponder, вызов методов по имени селектора...

... или "что творилось в мозгах у архитекторов Apple" - хотелось бы мне знать.

Или как я программировал вызов контекстных меню в xCode. И что я из этого вынес. И этом "мнимом MVC". Например вызывает вопрос тот факт, что меню зовёт Controller для View. А обрабатывает запросы от меню - View, а не контроллер. И где тут MVC? А если "интерфейс тотально сменится" (как учит нас сама Apple).

НАПИШУ ОБЯЗАТЕЛЬНО...

суббота, 30 марта 2013 г.

Objective-C и Delphi

Objective-C и Delphi.

Больше похожи чем различаются.

На самом деле. Мне не составило большого труда перенести часть своих разработок с Delphi на Objective-C.

Жаль только, что я поторопился. Delphi - похоже - возрождается.

Я потом продолжу этот пост. И напишу - чем они похожи.

Пока лишь:
1. Одиночное наследование.
2. Интерфейсы (протоколы).
3. Мета-классы. class и CLASS.
3. Общий базовый предок для всех объектов - TObject и NSObject.
4. Подсчёт ссылок.
5. TList и NSArray. Правда в первом - нет подсчёта ссылок.
6. Контролы и графические контексты. Есть там - МАССА общего.
7. Event'ы и selector'ы.
8. Виртуальные методы классов.
9. Создание объектов (наследников от TObject и NSObject) только в куче.
10. Возможность переопределения распределения объектов (NewInstance и alloc).
11. Категории в Objective-C и helper'ы в Delphi.

Но есть конечно вещи, по которым Objective-C - "делает" Delphi. Равно как и наоборот. Я тоже постараюсь об этом написать.

Пока лишь - NSOperation - вот что реально круто для мобильных устройств. Я пока не знаю - есть ли аналог в Delphi XE. Если нету - БОЛЬШОЙ минус Delphi.
NSDictionary и NSArray и их нативная сериализация - опять же.

Опять же - мне очень близка так концепция подсчёта ссылок на объекты, которая реализована в Objective-C. Я сам подобную концепцию "придумал". Не додумался только до autoreleasepool'а. Но он мне был и не нужен.

А вот если мы начинаем программировать не на Objective-C (.m), а на Objective-C++ (.mm) - То тут мы конечно попадаем в "стан врага" :-) Но зато нам становится доступен "великий и ужасный" STL. И многих велосипедов - нам уже не надо изобретать. И что "особенно вкусно" - это то, что Objective-C-классы и C++-классы - мешаются между собой - ПРОЗРАЧНО. Ну конечно только без кросс-наследования. Но оно и - НЕ НУЖНО. Агрегации - более, чем достаточно.

Про стандарт C++ 11 и его "вкусности" - так вообще молчу. Особенно в части - мета-программирования. auto и лямбды - одни чего стоят. (Лямбды (block) есть кстати и в Objective-C, в Delphi XE они тоже вроде есть, но я их честно - ещё не попробовал. Ничего не могу сказать).

А уж шаблоны с переменным количеством параметров - это вообще - что-то.

В общем - "хороша ложка к обеду". И каждый инструмент хорош для своего.

Мне лично - Delphi - сильно роднее. Я на нём 18-ть лет программирую. А начинал я вообще в Turbo Pascal 3.0 (далеко не все наверное это помнят).

Но и Objectvive-C - меня теперь не пугает. Наоборот - я нашёл в нём много знакомого.

Лишь скажу вам одну банальную вещь - "если мы хотим найти различия - мы находим различия, если вы хотим найти что-то общее - мы непременно эту общность находим".

Попробуйте. Может быть - вам понравится.

... to be continued ...