Опыт Apple UIKit против опыта .net - PullRequest
2 голосов
/ 19 августа 2010

Я новичок в программировании iPhone. Исходя из .net, я нахожу UIKit от Apple очень сложным в использовании. Например, создание простого статического табличного представления требует от меня реализации большого количества источников данных и методов делегирования. В .net вы просто добавляете элементы и устанавливаете их свойства в Visual Studio, вот и все! По мере того, как мое приложение становится все более сложным, и когда я начал добавлять поля и другие элементы управления в ячейки таблицы, все становится действительно неуправляемым!

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

Ответы [ 5 ]

5 голосов
/ 19 августа 2010

Ответ в том, что инструменты разработки Apple (на мой взгляд) отстают от MS примерно на 4-6 лет. По моим оценкам, 15-20% моего времени на кодирование тратится впустую, добавление свойства требует около 6 разных строк кода в разных местах, и вам нужно написать код для захвата 'события' из любого объекта пользовательского интерфейса, и вы должны помнить, что подключить все это в IB. Новый XCode 4.0 может решить некоторые из этих проблем, по крайней мере, он будет интегрировать IB и XCode. Вы также обнаружите, что отладчик ужасен по сравнению с тем, что существует в .NET.

С положительной стороны, Cocoa и связанные с ней структуры очень хорошо продуманы и в целом довольно полны.

Итог, ярлыков нет. Держи нос и скоро ты к этому привыкнешь. (И я фанат Apple, хулитель MS, прежде чем кто-нибудь обвинит меня в неверной лояльности.)

3 голосов
/ 19 августа 2010

Мне лично XCode проще в использовании.Но тогда мне никогда не нравился .NET / VS, даже когда это была моя работа.

Я думаю, что все сводится к тому, к чему вы привыкли, откуда вы пришли и чего ожидаете.Когда вы ожидаете что-то одно и получаете что-то совершенно другое, у вас первое впечатление - «это сломано».И даже не имеет значения, правда это или нет.

Кроме того, вы обнаружите, что по мере продвижения, то есть перехода от 3,0 SDK к 4, многие ярлыки и уроки, полученные Apple, получаютзапеченный в новых версиях XCode.Просто переход на Objc 2 сделал мой цикл разработки намного быстрее, не говоря уже о других улучшениях.

Я думаю, суть в том, что все становится лучше и проще.

2 голосов
/ 19 августа 2010

Я бы сказал, что для статической таблицы не так много, что вам нужно для реализации.

На среднем уровне сложности, конечно, больше, чем с таблицей .net, но тогда, когда вы хотите большей сложноститем не менее, вы найдете, что c # one становится более неуправляемым.

Я делаю оба.Как вы говорите, если вы хотите объединить что-то вместе, c # проще.Если вы хотите больше контроля над ним, UIKit проще.Я думаю, вы просто чувствуете, что это совсем другое.Если вы пришли из c #, вам будет сложнее, если вы пришли из OSX, вы найдете c # сложнее.Придерживайтесь этого, и оба будут довольно легкими.Однако, если он выходит из-под контроля, это не проблема UIKit!

0 голосов
/ 20 августа 2010

Почему вы не используете такие вещи, как существующий шаблон UITableView?Они дают вам кодовые базы с табличным представлением, где почти все, что вам нужно сделать, чтобы начать, это сказать "cell.text = ...."

В целом, ваша жизнь будет намного проще, если вы посмотрите большеподробно о том, как использовать XCode.Для свойств вы можете использовать пользовательский скрипт для генерации кода свойства или использовать стороннюю программу, например Accessorizer.Есть также много сочетаний клавиш Text Macro, которые вы можете активировать с помощью Ctrl-., и вы можете сделать свой собственный ...

0 голосов
/ 19 августа 2010

Возможно, вам поможет GenericTablesViews в этом отношении.

Мэтт Галлахер также обнаружил, что для создания простого стола было слишком много работы.

GenericTableViews позволит вам быстро и легко настроить представления таблиц, которые используют ряд элементов управления и настраиваемые типы ячеек, например, переключатели, текстовые поля, кнопки и т. Д.

В блоге на Furbo.org более подробно. Также вот прямая ссылка для скачивания исходного кода

Единственная проблема заключается в том, что код немного устарел, поэтому он все еще использует ячейки табличного представления в стиле 2.x. Вам придется обновить методы init, чтобы использовать стиль, а не фрейм. Должно быть достаточно просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...