V2EX 首页   注册   登入
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请 登入
Sponsored by
唐茶 字节社
中文世界最好的电子书城
V2EX  ›  问与答

麻烦推荐本适合非专业开发者(级别自述内详)的object-c学习的书吧,感谢!

By durden at 120 天前, 594 次点击
对开发mobile apps感兴趣(感觉mobile app比传统的编程学习更有意思,你写的东西能够有gps定位、能有重力感应能响应你的触碰等传统编程无法匹及的‘fun’,而并非完全是冲着¥去的,毕竟自知现在而今眼目下要想在app市场捞金作为个人开发者已是难上加难了),因此想学习iOS developmeng,目前在存钱买第一台mac,预计年中能够入手。

趁着这几月等待的时间想学习下object-c(在windows平台下,我刚才搜了下有gnustep的解决方案,打算先用它来学习)。因为看到apple研发帮助文档中提到“Object-oriented programming in Objective-C is sufficiently different from procedural programming in ANSI C that you won’t be hampered if you’re not an experienced C programmer.”,因此我打算直接跨过C学习oc,几个月的时间不算多,而且也并非全天候学习,我希望mac到手的时候能够慢慢上手实际开发了,而不是又得从oc从头开始学起。

我大学时候上个php的课(是的,我们系的计算机教的是php),知道一些基础的编程概念,譬如变量、循环啥的,自己做过一个很简单的php数据库管理website,仅此而已,对面向对象编程的概念只是听说过,但了解不深入且也没有任何实战的经验(那个php项目完全没有用到任何面向对象的知识...)。

请问各位达人针对我的这种情况能推荐本学习的书/视频/教程吗?万分感谢!
19 回复  |  直到 2012-01-26 22:05:58 PM
    1
zythum   120 天前
大学能教php实在不错。
    2
durden   120 天前
我是学语言的,因为计算机课完全是以实用为准,我觉得的确也挺好的,老师教的也不错,讲的不深入很多东西都没有讲,但是大家都能听懂,当时觉得编程也不难,就是从url中抓到参数,赋值给变量,然后在数据库中去搜索,找到解决echo出来就行啦 :)
    4
durden   120 天前
mac开发对于我这种小白来说看来要很花点功夫才能适应哦,弄了半天连个hello world都写不出来...
我照着这个帖子搭建好了windows下面的环境

http://blog.csdn.net/waden/article/details/5765294

写好编译时候报如下错误,貌似是我的环境没有配好?但是GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo Backend这四个安装包我都是默认安装好了的呀...

$ gcc -o helloworld helloworld.m -I/GNUstep/System/Library/Headers -fconstant-s
tring-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnust
ep-base
In file included from C:/GNUstep/GNUstep/System/Library/Headers/Foundation/NSCla
ssDescription.h:30:0,
from C:/GNUstep/GNUstep/System/Library/Headers/Foundation/Found
ation.h:50,
from helloworld.m:1:
C:/GNUstep/GNUstep/System/Library/Headers/Foundation/NSException.h:44:2: error:
#error The current setting for native-objc-exceptions does not match that of gnu
step-base ... please correct this.
    5
durden   120 天前
感谢darcy提供的两个连接,咋一看都比较吃力...明天我再深入来看看。

此外我自己在amazon上找到本这个书,貌似评价不错《Objective-C Programming: The Big Nerd Ranch Guide》

http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/0321706285/ref=sr_1_3?s=books&ie=UTF8&qid=1327424366&sr=1-3

开篇也写的很friendly
Let’s talk about you for a minute. You want to write applications for iOS or Mac OS X, but you
haven’t done much (or any) programming in the past. Your friends have raved about my other
books (iOS Programming: The Big Nerd Ranch Guide and Cocoa Programming for Mac OS X),
but they are written for experienced programmers. What should you do? Read this book.

不错不错,但我先得解决在windows下编译oc程序的问题...
    6
WarWithinMe   120 天前
1.建议先配个黑苹果.
2.直接去看Apple Developer Library里面的资料(http://developer.apple.com/library/mac/navigation/),东西比较多,包括语言和框架,搜索起来比较麻烦.不过相比其他书籍,要简明扼要.
    7
zhouhua97   120 天前
搞黑苹果还不如直接macmini得了
    8
durden   120 天前
我现在xp系统不好换的(公司笔记本),弄了个虚拟机在跑雪豹但是的确很不好用,因此我打算先重点放在oc语言的学习,随后再接触mac下面的其他东西
    9
liuhang0077   120 天前
要搞objc还是忍痛买个苹果的机器吧
    10
shiweifu   120 天前
私以为。。学习objc装个linux吧,配置更容易些,而且可以熟悉下终端、操作方式什么的,和mac差异不大。。可以试试linuxdeepin
    11
likai   120 天前
搞个黑苹果不错....现在俺就是...win7+LION..THINKPAD t500..
    12
lldong   120 天前
推荐下Etoile http://etoileos.com/ 这个基于GNUStep的环境
    13
ytzong   119 天前
    14
Echoldman   119 天前
感觉现在所有的obj-c教材都是以c为基础的,甚至假定读者有其他一门OOP的语言经验,比如C++或者是Java等。建议楼主还是在学习的过程注意下C语言的一些基本概念,比如指针、数组等。
    15
dongbeta   119 天前
《适合新手的Mac开发教科书:Cocoa and Objective-C: Up and Running》亲测

http://dongbeta.com/post/1440
    16
durden   119 天前
http://www.cnblogs.com/ju2ender/archive/2012/01/12/2321058.html

在这个帖子的帮助下终于将之前编译出错的问题解决了

引用其解决方案:
"我们要在C:\GNUstep\GNUstep\System\Library\Headers\GNUstepBase(请根据你的安装路径自行修改)中找到GSConfig.h文件:找到BASE_NATIVE_OBJC_EXCEPTIONS(没错,这就是上面的native-objc-exceptions),将其键值由1改为0:"

另外,要运行编译好的exe文件不能直接输入main.exe,而要./main.exe方可
    17
durden   119 天前
编译.m的文件要这么长一串命令
gcc -o main main.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

而编译.c文件只要短短的
gcc -o main main.c
就行了,真好 :)

谢谢dongbeta的推荐,我待会儿去瞧瞧,现在正在看Objective-C Programming: The Big Nerd Ranch Guide,正如楼上朋友所说的,看来完全不明白c还真没有办法继续oc的学习,好在这本书也会提到一些c的知识
    18
xilihwala   119 天前
oc语言并不是很复杂,但是要开发的有趣的东西C几乎是必须的,很多官方,第三方的框架都是C写的,还有少量的C++
    19
Kobe   119 天前
ibooks里有几本苹果自己出的书,很不错
Linode
关于   |   FAQ   |   我们的愿景   |   广告投放   |   工作空间   |   Gadget Lab   |   博客   |   上网首页   |   308 人在线   最高记录 362
创意工作者们的社区
Lovingly made by OLIVIDA
VERSION: 3.0.0-dev
♥ Do have a faith in what you're doing.