Только добавить некоторый материал.
, Конечно, синтаксический анализ является двумя путями слово.
можно проанализировать краткий обзор в запрос.
можно проанализировать запрос в краткий обзор.
вопрос должен быть, что делает Вы называете последнюю часть метода, и потому что в этом экземпляре Вы анализируете краткий обзор для создания запроса, который Вы назвали бы им parseAbstract
.
Для ответа на вопрос парсинг не имеет никакого противоположного.
foreach
использует копию массива / объекта, а не сам массив / объект:
Примечание: Если на массив не указана ссылка ,
foreach
работает с копией указанного массива, а не с самим массивом.foreach
имеет некоторые побочные эффекты для указателя массива. Не полагайтесь на указатель массива во время или послеforeach
, не сбрасывая его.
Поэтому используйте ссылку:
foreach ($arr as $key => &$field) {
// …
}
Или используйте само свойство элемента / объекта массива, например, предложенное Куроки Казе, используя $ arr [$ key]
вместо его скопированного значения $ field
.
Конечно, тысячи. То же верно и для любой разработки программного обеспечения. К сожалению, самый простой способ перечислить их - записать их на листе бумаги, ожидая, пока дружелюбная душа освободит вас от той, в которую вы только что упали.
Однако:
Не пытайтесь изобретать заново. колесо. API iPhone очень полный - вам просто нужно ИСКАТЬ, что вам нужно. Вещи НЕ всегда реализуются так, как вы ожидаете. Внимательно прочтите руководства. Посмотрите учебные пособия и проанализируйте, как они работают. (Попробуйте изменить строку здесь или там в руководстве, чтобы увидеть, в чем разница.) Единственная самая большая ошибка, которую я сделал за 1 год разработки iPhone, - это недостаточно стараться найти способ iPhone из что-то делает.
Не игнорируйте управление памятью; овладевайте им рано и часто. Используйте инструменты Object Allocation и Leaks в Instruments, чтобы часто проверять утечки памяти. Я бы рекомендовал проверять после завершения каждой функции или просмотра; чаще, чем это, если вы продолжаете находить ошибки. В конце концов, вы можете понять это настолько хорошо, что можете перестать это делать.
Не используйте просто настройки сборки по умолчанию. Поиграйте с ними, чтобы понять, что они делают. Разберитесь с сертификацией и распространением. БЫСТРО ВСТУПИТЬ В ПРОГРАММУ РАЗРАБОТЧИКА - это может занять некоторое время, чтобы пройти через этот конвейер. [И когда вы получите уведомление о том, что вам необходимо продлить подписку, включите его немедленно - с этим процессом возникли проблемы. ]
Не забудьте внимательно прочитать Руководство по человеческому интерфейсу (HIG). Если они говорят что-то не делать - НЕ ДЕЛАЙТЕ ЭТОГО. Apple будет отклонять приложения, злоупотребляющие своей иконографией.
Не скупитесь на маркетинг. Да, App Store представляет ваше приложение миллионам людей ... Теоретически. Но шансы попасть на первую полосу невелики. В App Store есть много отличных приложений, которые мало продаются, потому что о них никто не знает.
Не останавливайтесь на достигнутом. Если появится новая технология, узнайте, облегчает ли она вашу работу; если это так, найдите время, чтобы изучить это. Личный пример: я только сейчас пытаюсь переключиться с управления данными на основе SQLite на Core Data, потому что я очень спешил, когда начинал свой последний проект; теперь мне жаль, что я не замедлился и подумал об этом.
Не вдавайтесь в свое дизайнерское мышление (например): «Как мне реализовать мою концепцию с табличным представлением?» Это' Верно, что представления таблиц естественны для многих информационных и служебных приложений, но их нельзя ограничивать. Вместо этого подумайте о том, что пользователи захотят делать, как вы можете упростить им задачу - собрать вещи, которые будут использоваться вместе, и т. Д. Если вы никогда не изучали концепцию вариантов использования, прочтите их.
Не бойтесь создавать составные представления. Многие из вопросов, которые я видел здесь, в Stack Overflow, связаны с размещением панели инструментов в верхней части таблицы или с изображением на фоне текстового поля. Я понимаю желание делать вещи простым способом, и, как я заявляю в пункте 1 выше, если есть простой способ, используйте его. Но во многих случаях решение состоит в том, чтобы просто наложить несколько слоев с соответствующим размещением и прозрачностью.