Когда вы создаете Haikunator
, определите семя как seed: new Date().getTime()
. Таким образом, семя для генератора случайных чисел будет меняться каждый раз, когда вы загружаете страницу.
Что Вы подразумеваете "под компонентом?" Вы имеете в виду блок кода или библиотеки, которую Вы собираетесь вручить другим людям для соединения в их приложения? Раз так затем не реалистично использовать любой из соединенных мостом языков в это время. В то время как много мостов очень хорошо, у них почти всегда есть сложности и проблемы, что большинство разработчиков приложения не будет готово иметь дело с использовать единственный компонент, особенно если он включит введение существенного времени выполнения.
Мосты являются самыми ценными для образования моста других библиотек языка в приложение Objective C. В то время как можно записать, что довольно законченные приложения с помощью них, делая так часто требуют лучшего понимания Objective C, чем простая запись приложения Objective C, так как необходимо понять и справиться с языком, объектной моделью, поточной обработкой и несоответствиями импеданса выделения памяти, которые происходят.
Это также, почему многие люди утверждают, что, даже если Вы довольно знакомы с языком, пытаясь изучить Какао с помощью того языка через мост, является обычно более трудным что, изучая это с помощью Objective C.
Наконец, большая часть недавней поддержки соединенных мостом языков происходила из-за "BridgeSupport", опция была добавлена в Leopard. Даже мосты, которые предшествуют, которые мигрировали к, иногда таким способом, которым использование соединенного мостом языка на Tiger и Leopard может иметь существенные различия. Кроме того, в настоящее время нет никакой поддержки моста iPhone, и наиболее соединенные мостом языки не будут работать над ним, если это будет проблемой.
В конечном счете, если Вы пишете библиотеку, которая будет связанной в другие приложения, необходимо работать на Tiger и Leopard, и необходимо получить доступ к Какао только API, я думаю, что Вы найдете использование любого решения не-Objective C довольно трудным.
Попробуйте любой из мостов Какао, перечисленных в здесь http://www.cocoadev.com/index.pl?CocoaBridges
Можно также попробовать F-сценарий - smalltalk диалект, который записан специально для MacOSX/Cocoa.
Вы не должны быть запуганы Какао, сохраняют/выпускают подсчет ссылок. Это очень, намного легче на практике, чем поклонники GC сделали бы, чтобы Вы верили. Правила управления памятью Какао очень просты, они только влияют на крошечный объем Вашего кода, и даже что код может быть сгенерирован автоволшебно.
Вот прием. Вы инкапсулируете свой код MM в методах доступа и всегда используете средства доступа. XCode имеет встроенные сценарии для генерации соответствующих средств доступа, или если Вам нужно больше гибкости существуют приложения 3-й части как Accessorizer.
Это не навязчивый подход - только необходимо волноваться о сохранении объекта, если Вы испытаете необходимость для хранения его для более позднего использования, и если Вы соберетесь сделать это, то Вам будет нужна переменная экземпляра, в которой можно сохранить его так или иначе. И при использовании KVO и привязки необходимо будет использовать средства доступа, чтобы удостовериться, что соответствующие уведомления наблюдателя запущены. В основном при использовании хорошего ООП и методов Какао нет практически никакой дополнительной мысли или усилия, связанного с управлением памятью.
Большинство людей, которые испытывают трудности с "ручным" управлением памятью Какао, делает так в результате неправильного использования его. Наиболее распространенная ошибка состоит в том, чтобы рассеять соответствующие нормы повсеместно. Это означает, что отсутствие сохраняет, дополнительный выпуск, и т.д. будет трудным найти.
Можно попробовать PyObjC для записи приложений Какао в Python или MacRuby, если Вы интересуетесь Ruby.
RubyCocoa становится постоянно более впечатляющим, и я видел много успешных внедрений с помощью него. Таким образом, конечно, если Ваша чашка чая Ruby...
Можно всегда использовать REALbasic (www.realsoftware.com). Очень легкий и забавный использовать, не свободный все же. Вы не можете сделать dylibs (или dll's) использованием его, но можно использовать dylibs и dll's в коде. И можно пользоваться библиотеками какао также
Не забывайте, что можно использовать Java также, и я не имею в виду мост какао Java, я имею в виду фактический Java.
Существует также пакет от яблока, которое предоставляет Вам доступ к нескольким osx функциям также.
Также для комментария точки Shem, если osx 10.5 предназначения и выше, можно использовать в своих интересах сборку "мусора".
Если Вы хотите синтаксис шепелявости затем, Ню является шепелявостью, реализованной сверху Objective C http://www.programming.nu/
Кроме того, FreePascal может генерировать собственные Углеродные Приложения (в прогрессе, работающем на Coccoa)
Взгляд на Python и wxPython (wxWidgets в Python).
wxWidgets имеют очень изящный шаблон проектирования приложений Представления документа приложения, это очень, очень хорошо. Это не использовало достаточно, IMO. Я не нашел wxPython примеров этого примера Представления документа приложения, таким образом, необходимо использовать примеры C, чтобы продумать, как он работал бы в Python.
Я отправил бы примеры, но у меня нет всего этого еще работающего, также.
См. NObjective (http://code.google.com/p/objcmapper/) мост к Какао. Это обеспечивает больше функций, чем другие с меньшим количеством издержек.
Я изучаю Моно также. Objective C немного слишком причудлив для меня в этой точке. Слишком много лет, делая C/C++, Java, C#, Perl и т.д. Я предполагаю. Все они кажутся довольно легкими плавать между. Не так для Objective C. Любите мой Mac, но боящийся потребуется слишком много драгоценного времени для освоения языка.