V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
durden
V2EX  ›  问与答

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

  •  
  •   durden · 2012-01-25 00:27:53 +08:00 · 4775 次点击
    这是一个创建于 4722 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对开发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 条回复    1970-01-01 08:00:00 +08:00
    zythum
        1
    zythum  
       2012-01-25 00:34:04 +08:00
    大学能教php实在不错。
    durden
        2
    durden  
    OP
       2012-01-25 00:40:30 +08:00
    我是学语言的,因为计算机课完全是以实用为准,我觉得的确也挺好的,老师教的也不错,讲的不深入很多东西都没有讲,但是大家都能听懂,当时觉得编程也不难,就是从url中抓到参数,赋值给变量,然后在数据库中去搜索,找到解决echo出来就行啦 :)
    darcy
        3
    darcy  
       2012-01-25 01:09:27 +08:00 via iPad
    durden
        4
    durden  
    OP
       2012-01-25 01:44:22 +08:00
    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.
    durden
        5
    durden  
    OP
       2012-01-25 01:54:51 +08:00
    感谢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程序的问题...
    WarWithinMe
        6
    WarWithinMe  
       2012-01-25 02:46:06 +08:00
    zhouhua97
        7
    zhouhua97  
       2012-01-25 08:20:24 +08:00 via iPod
    搞黑苹果还不如直接macmini得了
    durden
        8
    durden  
    OP
       2012-01-25 10:02:30 +08:00
    我现在xp系统不好换的(公司笔记本),弄了个虚拟机在跑雪豹但是的确很不好用,因此我打算先重点放在oc语言的学习,随后再接触mac下面的其他东西
    liuhang0077
        9
    liuhang0077  
       2012-01-25 10:13:17 +08:00 via iPod
    要搞objc还是忍痛买个苹果的机器吧
    shiweifu
        10
    shiweifu  
       2012-01-25 11:25:45 +08:00
    私以为。。学习objc装个linux吧,配置更容易些,而且可以熟悉下终端、操作方式什么的,和mac差异不大。。可以试试linuxdeepin
    likai
        11
    likai  
       2012-01-25 11:55:16 +08:00
    搞个黑苹果不错....现在俺就是...win7+LION..THINKPAD t500..
    lldong
        12
    lldong  
       2012-01-25 13:08:23 +08:00 via iPhone
    推荐下Etoile http://etoileos.com/ 这个基于GNUStep的环境
    ytzong
        13
    ytzong  
       2012-01-25 14:29:06 +08:00
    Echoldman
        14
    Echoldman  
       2012-01-25 16:24:51 +08:00
    感觉现在所有的obj-c教材都是以c为基础的,甚至假定读者有其他一门OOP的语言经验,比如C++或者是Java等。建议楼主还是在学习的过程注意下C语言的一些基本概念,比如指针、数组等。
    dongbeta
        15
    dongbeta  
       2012-01-25 17:06:01 +08:00
    《适合新手的Mac开发教科书:Cocoa and Objective-C: Up and Running》亲测

    http://dongbeta.com/post/1440
    durden
        16
    durden  
    OP
       2012-01-25 17:13:16 +08:00
    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方可
    durden
        17
    durden  
    OP
       2012-01-25 17:25:45 +08:00
    编译.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的知识
    xilihwala
        18
    xilihwala  
       2012-01-25 18:25:09 +08:00
    oc语言并不是很复杂,但是要开发的有趣的东西C几乎是必须的,很多官方,第三方的框架都是C写的,还有少量的C++
    Kobe
        19
    Kobe  
       2012-01-25 22:05:58 +08:00 via iPad
    ibooks里有几本苹果自己出的书,很不错
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1765 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:28 · PVG 00:28 · LAX 08:28 · JFK 11:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.