Ссылки кидаю на SHelfari, там есть подробное описание книги, возможность покупки на Amazon, а также вы можете создать свою полку с книгами для чтения.
Варианты книг привожу в оригинале, так как они обычно более адекватны и материал более свежий. Думаю не составит труда найти их переводы на русский язык.
1. Рекомендую начать с этого.
http://www.shelfari.com/books/36153187/iOS-Programming-The-Big-Nerd-Ranch-Guide-(4th-
Много примеров, общая теория. Доступно и понятно.
2. http://www.shelfari.com/books/36386978/Programming-iOS-5-Fundamentals-of-iPhone-
Очень качественная книга с подробным описанием теоретических аспектов. Практики в ней маловато, зато разложите свои знания по полочкам. Есть версия по iOS 6, в декабре выходит версия по iOS 7.
3. Классная книга по программированию для нескольких потоков и управлению памятью.
http://www.shelfari.com/books/25895332/Pro-Multithreading-and-Memory-Management-for-
4. Две книги с готовыми рецептами для iOS. Рассматриваются определенные задачи и даются их решения.
http://www.shelfari.com/books/27011451/The-iOS-5-Developers-Cookbook
http://www.shelfari.com/books/33213224/iOS-6-Recipes-A-Problem-Solution-Approach
5. Подробное описание по работе с Core Data. Обертка для работы с базами данных под iOS.
http://www.shelfari.com/books/25871163/Pro-Core-Data-for-iOS
Также рекомендую обратить ваше внимание на видео лекции по iOS программированию.
http://itunes.stanford.edu/ Лекции ведет Paul Hegarty.
function post_to_url(path, params, method) {
method = method || "post"; // Set method to post by default if not specified.
// The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}