Плагин Eclipse для Objective C?

Это не гарантируется для всех типов, потому что оператор < может быть переопределен, чтобы иметь смысл для определенного класса, и этот код может не принимать во внимание нуль. Для стандартных операторов для Nullable<T>, null будет сравниваться, чтобы быть меньше значения.

Но если вы имеете дело с пользовательскими типами, учтите, что их операторы могут не принимать во внимание нули. Например, посмотрите на этот глупый пример:

void Main()
{
    Foo x = null;
    Foo y = new Foo();

    Console.WriteLine(x < y);
    Console.WriteLine(x > y);
}

class Foo 
{
    public static bool operator <(Foo lhs, Foo rhs)
    {
        if (ReferenceEquals(lhs, null))
            return false;
        return true;
    }

    public static bool operator >(Foo lhs, Foo rhs)
    {
        return false;
    }
}

Я согласен с другим ответом здесь, что, хотя ваш код может работать, было бы лучше иметь явную проверку на ноль.

45
задан Stefan Kendall 3 August 2009 в 00:49
поделиться

4 ответа

для Objective-C лучше всего Xcode - если у вас Mac. Существуют и другие IDE, например KDevelop , которые предлагают поддержку других операционных систем. Единственное, что я видел для Eclipse, это объективное затмение , но у меня нет опыта с ним.

Существуют и другие IDE, например KDevelop , которые предлагают поддержку других операционных систем. Единственное, что я видел для Eclipse, это объективное затмение , но у меня нет опыта с ним.

Существуют и другие IDE, например KDevelop , которые предлагают поддержку других операционных систем. Единственное, что я видел для Eclipse, это объективное затмение , но у меня нет опыта с ним.

29
ответ дан 26 November 2019 в 20:48
поделиться

Если у вас нет Mac и вы хотите изучить Objective-C в Windows, вам следует взглянуть на GNUstep ( http://www.gnustep.org/ ). Я думаю, вы получаете пакеты для Windows, и она идет с IDE. GNUstep содержит множество классов Какао, поэтому начать работу может быть относительно легко. Однако, когда я некоторое время назад попробовал GNUstep в Windows, он оказался для меня довольно глючным.

Текстовым редактором, который вы можете попробовать, является E ( http://www.e-texteditor.com/index.html ]). Это клон TextMate (популярного редактора на Mac), и вы можете устанавливать пакеты для всех видов вещей, включая поддержку Objective-C. ( http://svn.textmate.org/trunk/Bundles/ ). Вы получаете бесплатную пробную версию, так что, может быть, попробуйте.

Надеюсь, это поможет. Я почти не занимался программированием на Objective-C в Windows, но это '

7
ответ дан 26 November 2019 в 20:48
поделиться

Другие ответы дают довольно хорошие прямые ответы. Тем не менее, мое первое желание - перейти к мета-вопросу: «Какова причина вашего изучения Objective-C?» Причина, по которой я спрашиваю, заключается в том, что рекомендации, которые я дам, во многом зависят от ваши мотивации. Например ...

  1. Вы слышали, что Objective-C - мощный язык, и хотите посмотреть, сделает ли его использование ваши программы более крутыми, более легкими в написании и т.д. Я буду откровенен - ​​если вы не планируете в конечном итоге заняться разработкой для Mac / iOS, в изучении Objective-C нет особого смысла, кроме академического любопытства. Я давний парень Apple, и мне нравится Objective-C, но если вы работаете в другой операционной системе и планируете использовать ее в обозримом будущем, в этом нет особого смысла. Objective-C имеет несколько очень интересных функций, но преимущества самого языка обычно не являются убедительными для большинства людей. Он становится очень мощным в сочетании с фреймворками Cocoa, предоставляемыми Apple. GNUstep обеспечивает определенную степень совместимости, но если вы собираетесь кросс-платформенный, есть варианты получше.
  2. Вы планируете писать программное обеспечение для Mac / iOS, но у вас еще нет Mac. Если вы серьезно настроены, я рекомендую приобрести Mac раньше, чем позже. Хотя вы можете изучить Objective-C, используя IDE на другой платформе, почти все учебники и книги по Objective-C предполагают среду Mac. Практически не будет поддержки сторонних инструментов, особенно на форумах и в списках, которые могут быть наиболее полезными для вас при обучении. (Конечно, Я рекомендую по крайней мере рассмотреть Mac всем, а не только людям, изучающим Objective-C. При необходимости вы можете выполнить двойную загрузку Windows, так что это более гибкое вложение в разработку. Тем не менее, я знаю, что не каждый может отказаться от покупки нового Mac.)
  3. Вы планируете написать программное обеспечение для Mac / iOS, но хотите делать все это с ПК. Если бы это было так, я бы предложил остановиться сейчас и пересмотреть приоритеты по нескольким причинам.
    • Инструменты Apple - лучшие инструменты для разработки приложений для Mac / iOS, без исключений. Отсутствие разработки на Mac ставит вас в невыгодное положение. Представьте, что вы пытаетесь разработать программное обеспечение .NET в Eclipse, KDevelop или emacs. Это может быть возможно, но это не самый разумный способ делать что-то.
    • Если вы не используете Mac регулярно, вы никогда не поймете, что такое хорошее приложение для Mac, или как его разработать. Следовательно, вы, вероятно, получите жалобы пользователей на проблемы, которые могут не иметь для вас смысла и плохо подготовлены для их решения.
    • Сторонняя поддержка Objective-C и Какао всегда будет отставать от поддержки Apple, и имеют другой набор ошибок. Вы не получите наилучшего опыта, и пользователи тоже. Кодирование для двух реализаций Objective-C, вероятно, сведет вас с ума в рекордно короткие сроки.
    • Большинство людей, не работающих с Mac, не делают этого. Меня не волнует Objective-C, поэтому языковые плагины и поддержка компиляции вряд ли будут хорошо разработаны, не говоря уже о том, чтобы вообще существовать. Помимо редактора кода, вам потребуются библиотеки для компиляции и компоновки. Опять же, Xcode - золотой стандарт для Objective-C. Кроме того, настройка и администрирование проекта в Eclipse является проблемой даже для Java.

Я понимаю, что это не дает прямого ответа на ваш вопрос, но я надеюсь, что это дает некоторое понимание, будь то спрашивающий или кто-то еще в той же ситуации. Ура!

настройка и администрирование проекта в Eclipse - это проблема даже для Java.

Я понимаю, что это не дает прямого ответа на ваш вопрос, но надеюсь, что это дает некоторое понимание, будь то спрашивающий или кто-то еще в той же ситуации. Ура!

установка и администрирование проекта в Eclipse - это проблема даже для Java.

Я понимаю, что это не дает прямого ответа на ваш вопрос, но надеюсь, что это дает некоторое понимание, будь то спрашивающий или кто-то другой в той же ситуации. Ура!

113
ответ дан 26 November 2019 в 20:48
поделиться

Однажды я попытался собрать воедино среду разработки для iPod / iPhone с открытым исходным кодом, но процесс занял слишком много времени и в конце концов отказался. Взамен у меня Mac. После этого инструменты стали бесплатными, и я начал думать и кодировать на Objective-C.

Я заметил книгу о разработке программного обеспечения с открытым исходным кодом (под Linux). Издатель старый добрый О`Рейли. Возможно, стоит взглянуть.

В том же духе можно сказать, что написание приложений на Objective-C для Linux может привести к большему признанию языка и фреймворка. На данный момент он действительно предназначен для тех, кто интересуется разработкой приложений для устройств Mac или iPhone / iPad / iPod.

Кроме того, если модуль времени выполнения objective-C достаточно легкий, он может подойти и для домашних разработчиков игровых консолей: я написал приложение для консоли Nintendo DS и в итоге написал множество строк кода на C ++. Я считаю, что это можно было бы сделать с меньшим количеством кода с помощью ObjC и инкапсулированной версией libnds, но, насколько мне известно, GNUStep еще не был перенесен в цепочку инструментов DS с открытым исходным кодом ( www.devkitpro.org ).

Удачного кодирования!

1
ответ дан 26 November 2019 в 20:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: