ios初学者练手项目ios开发先学obc 还是先学c

现在正在学习用OC开发的IOS项目,swift这个新语言却不知道怎么去结合来学习...?
学swift感觉暂时出来工作上基本没人用,swift应该是在何时加入学习的队列里?
按投票排序
在未来某个已经让你觉得晚了的一天,你就可以开始学习swift了。
题主你现在不觉得不会几句swift你都看不懂iOSblog了吗?这是一个齐头并进的机会,你选择等待?有一天cocoa和cocoa touch API被swift统一了你不得疯?
已经用swift 完成一个app 没上线 仅仅学习
现在就可以混编,挺方便的,需要oc的时候就import一下,其余时候一律swift,遇到无法解决的问题(比如指针,强制类型转换之类的)就传到oc或者c中处理.
现在就可以加到学习队列了(还队列。。。),一想到两年之后有人招聘【有两到三年swift开发经验的人】就感觉不是一般的酸爽!!你说对吗?!
怎么基本没人用,1. 首先 Apple 公司中,从 WWDC 视频中可以看到已经有不少的使用了.2. 你稍微关注下 Swift 社区,就会发现,现在简单的应用层的开源库已经慢慢多起来了.3. 在
中的几期文章就可以看到已经很不少公司将其应用到项目中了4. Objective-C 与 Swift 是可以轻松并存,交互的.5. 我最近的一个项目,自己写代码就都是 Swift 的代码了. (引用的其他开源库,当然有 Objective-C 的)6. Swift 更优雅,写起来更方便快捷,为什么不用呢?7.
Objective-C 还是要会的.8. 熟练掌握了 Cocoa Touch 相关库之后,你会发现 Swift 只是一个更好的语言工具而已.不用想太多,想学就学. 不学也没有人伤害你.
已经把4个个人app用swift重写发布上线了,坑还是不少,不过swift在慢慢变好中。
有一些边缘case坑但是已经比写obj爽很多了
这两个语言完全没有冲突啊,无缝结合使用啊,同时使用啊,oc各种第三方库随便用啊。语法也不是很复杂啊,甚至可以边用边学。好吧,我试过了,如果有元组的方法oc是识别不出来的。但这个完全不妨碍啊啊啊啊。
既然你刚开始学习obc 就不要想swift了 等你掌握了obc,再来学习swift会简单的多。 一句话,专心学会一门语言,很多知识是触类旁通的
直接用,不过,有些知识掌握不够的坑,还是要跳的
不知道怎么结合swift? 那是你脑子里某个区不喜欢swift,在抵制swift。swift有很多让新手望而却步的语法点,比如可选型,但它让cocoa程序更加安全。这些繁琐的语法相比OC来说的确增加了程序员的负担,跨过这些坎就会乐意接受swift。最后当你发现swift的精华在于Functional Programming时,你的编程世界就打开另一片天,你会继续啃Haskell,Scala,Erlang。。最后你发现那些高阶幂次函数不只是递归而已,你会捶胸顿足,妈的高中大学里的数学终于可以派上用场了!不要老呆在舒适的OOP里面,尝试着从今以后所有的VC类都用swift吧,必定有用!当前访客身份:游客 [
当前位置:
我应该直接学 Swift,还是 Objective-C?
当我们发布了Swift语言学习课程之后,收到了很多邮件和私信来问自己是否还需要学习C或者Objective-C。此外,人们似乎还在迷惑Swift到底适合iOS开发生态中的哪些部分。通过这篇文章,我希望能扫清你的疑惑并且将你送到正确的学习轨道上。
我应该先学C/Objective-C还是直接学Swift?
Swift是一个全新的语言,与Objective-C或C都没有任何关系。我的意思是它们都是编程语言并且遵守一些基础概念和范例,但是你并不需 要在学习其中一个之前先学另一个。即使你是编程新手,你也可以学习苹果发布的官方的Swift文档而无需先学Objective-C。
我正在学习Objective-C,我应该转为学Swift吗?
这要试情况而定。如果你把学习iOS当做一个爱好或者出于好奇心才学,那么转到Swift学习上吧。如果你将从事iOS开发视为职业,那么你要知道 外面至少有100万个应用都是用Objective-C编写的,Swift于2014年才刚刚发布,所以你将来的职业的app开发仍然很有可能使用 Objective-C。所以你需要学习Objective-C来获得一个工作,直到Swift成为标准,这大概将花费数年时间。同时学习两门语言也将对 你有好处。你未来的上司甚至可能会让你来将现存的Objective-C app切换到Swift上。不过我对这个观点有所保留,因为一个应用最重要的部分是它的功能而非它使用的语言,因此重写现有app的做法可能不会流行。
我建议初学者选择Swift是因为它是一种友好的语言,并且感谢playground让它变得容易学会。一旦你学过了Swift,如果将iOS开发视为职业的话,对于学习Objective-C也将更容易理解。
最后,Swift是一种现代语言,如果你学习Swift,意味着也同时做好了面向未来的准备,因为Swift将是新一代的应用所用的语言(包括 Apple Watch上的应用)。Swift语言是苹果送给每个人的礼物。世界上还没有5年经验的Swift开发者,但如果你现在开始学习Swift,那么过了5年 你就将成为其中一位了。
我最后的建议是,不管你选择哪一门语言,学习它并且精通它。最后你将发现,只要你学会iOS SDK,使用哪种语言并不是最重要的。并且学了一种语言之后可以很容易的开始学习另一门,最紧要的是,从现在就开始学习。
原文出处: &&&译文出处:
Swift 的详细介绍:
Swift 的下载地址:
想通过手机客户端(支持 Android、iPhone 和 Windows Phone)访问开源中国:
旧一篇: 1年前
新一篇: 1年前
相关讨论话题
你也许会喜欢
其中几个观点都非常重要
2楼:开源中国匿名会员
当然学C#啊
3楼:洛阳码农 来自
当然是.net啦
4楼:mavenly
当然是HelloWorld语言啦
6楼:loki_lan
学啥都一样。
7楼:--zxp
10年swift开发经验
8楼:shijunxing 来自
别以为可以跳过oc,现在你学了swift,但不会oc也白搭
都学,技不压身。
10楼:奥西里斯
到公司做项目你才知道,你想多了,c/c++你都躲不过去,跟别说OC了
11楼:山下狮子
我很赞同这个文章的观点,同意的举手
12楼:redhat1520
很好,解决了我的困惑。
13楼:浮云只想对你说
没苹果电脑,手写可以吗?
14楼:月影南溪
炒得再热,还得有个肾才行,要不没电脑、没手机拿什么开发?即使开发出来了,拿什么测试?
15楼:二的基本算合格
要么从C/Object-C学起,要么从Java学起~~~不分先后,可循环~~
16楼:朱宏青
文章中的几个观点 还是非常好的
17楼:justinkuang
如果你将从事iOS开发视为职业,那么你要知道 外面至少有100万个应用都是用Objective-C编写的。
18楼:夫复何求 来自
19楼:范翠霞
引用来自“浮云只想对你说”的评论没苹果电脑,手写可以吗?只要坚持写,哪怕用脚指头写,都是有好处的——可以有效预防老年痴呆症!
20楼:太割耳
精通swift默默骗过。。。
与内容无关的评论将被删除,严重者禁用帐号
本周热点资讯
本站最新资讯在学习 Objective-C 之前最好先学 C 吗?
大多数Objective-C新手教程都要求有C的经验,或者先从C开始学。有必要吗?
按投票排序
我认为, 如果是因为喜欢IPHONE进而想开发IPHONE程序开始学习 Object-C. 是不需要先学好 C 的. Object C 是一个很灵活的动态语言, 和C还是有很大差别. 一个中学生能够很快的 (约一周) 就可以学习,并且用Object-C 像样的写一些程序了.
说不定, 两周后就可以有程序上线 AppStore. 这么说主要是看到 Cocoa China 上不少中学生作者, 只要有兴趣, 很容易发挥自己的才华, 不要被C语言的细节給禁锢住但是, 如果是一个靠写程序吃饭的人来说. 学好 C 还是必须的. 是不是必须在学习 Object C 之前倒是不见得. 语言不会把你带到沟里, 计算机原理知识是根本. ---------------------------------分割在2014年----------------------------------------现在号,Swift已经出来了好几个月了。如果你还没有开始学习Object C,可以考虑一下Swift。WWDC上所有的Sample都是用Swift写了,再过一年,市面上的新App有一半都是Swift写的。所以,不用纠结。欢迎大家进入Swift的世界。
必须了解。否则很多问题你都会迷迷糊糊的。比如为什么普通struct是pass by value而Objective-C对象是pass by reference,为什么C的函数名错误是compile-error而Objective-C是warning?
我假设询问这个问题的对象属于编程语言的初级入门者。几乎国内所有的大学在编程入门的时候都是用C语言当教材。不可否认,C语言以其底层的特性,十分胜任在操作系统、组成原理等课程中作为实验工具。如果是为了系统的认知,在必要的时间和机会里,熟悉C不是一件坏事。但是作为一个工具,C并不是必须的前提。尤其需要记住的一点是:尽管像C++,object-C等都是基于C语言衍生的语言,但他们在理念上已经与传统的C有本质不同了,不要被名字迷惑,初学时把他们当成完全不相干的语言比较好。有些朋友认为,只有都学会了,才能写出优秀的程序,才能理解之间的差异……所以必须把C语言当作前置知识掌握。很正确,但是不适合初学者。比起大量的底层特性差异,初学者应优先掌握的是使用理念和方法。而细节的差别是在之后的提高阶段才需要重点关注的问题。
虽然 Obj-C 是 C 的超集,但是和 C 是两种世界观。(面向过程 和 OO )的确, C 也可以 OO 。甚至可以说, Obj-C 不就是 C 的非常好的 OO 的例子之一嘛~ 不过,没有见过好的,基于 OO 的 C 教材(现实是,如果教材关心 OO ,一般也不会基于 C 了)。所以过程的思维可能会先入为主,那样先学 C 容易被带到沟里去。而一些老的 C 程序员(也很优秀)写的 Java 代码也证实了这点,看的我死的心都有。其实直接看 Obj-C 也无不可。 iOS App 的 Obj-C 代码是高度框架化和自解释的。涉及 C 的部分一般是底层的一些实现或者自己绘图等内容,相对少用,熟悉了框架,建立了 OO 的概念再深入不迟。(既从 Obj-C -& C )如果是从 C -& Obj-C ,从过程到 OO 的提升就是人为制造的麻烦(虽然也不太大但是毕竟没有必要)。而且,你会发现 C 的很多东西 Obj-C 用不到。比如 C 中分量很重的内存地址操作, iOS 的 Obj-C 程序就几乎不涉及。而 Obj-C 绘图部分的一些代码很 C ,一般的 C 教程却不怎么讲,那些内容一般会放到另外一本书里面: 计算机图形学-C 语言。当然无论是从 Obj-C -& C 还是从 C -& Obj-C , C 的一些相关知识都是需要的。
为了今后不做码农,请务必学好C,谢谢。
虽然我个人对C不感冒,但如何把C和Objective-C放一起说的话,我觉得C还是很有必要的,因为C更接近通用编程语言的形态,是基础,Objective-C就长得有些偏了。要是以后要上手其他语言的话,从C过渡到其他语言的成本要比从Objective-C过渡到其他语言的成本要小。
仔细钻研oc的话 c也是ok的! 认为需要先学习c的 估计多半都有c的背景 再看oc会觉得很容易!但不是必须!
除非你的目标是单片机/嵌入式平台(arm7/9上跑个精简的linux),否则不要学C。没意义。
学学C,主要是了解下语法和必要的数据结构的写法,不然直接看OC会基础不牢靠的
当然要学C了……不然指针都搞不明白怎么开发……毕竟Objective C是C的超集,学好C是必须的。。
不是必须的,但如果懂得C的话,入门会容易不少。学习一门语言的成本都差不多。
如果没时间就算了,如果有时间把c学了对解决一些奇怪的bug只有好处没有坏处。
不懂编程,目前正在学习objc中。没学c,因为之前问了好多人,都说没必要。两个不同的东西,虽然有交集,但是就像学开车,学自动挡的车之前有必要学习手动挡么。
C是一种规范,学好C就相当于学好了一套语法规则。然后再学Objective-C会相对容易
三个字:没必要!二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(13159)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'OBC: NSString 与 NSArray 互转',
blogAbstract:'1. NSString 拆分成 NSArrayNSString *_string = @\"1,2,3,4,5\";NSArray *_arr = [_string componentsSeparatedByString:NSLocalizedString(@\",\", nil)];2. NSArray 转为 NSStringNSArray *_arr = [[NSArray alloc] initWithObjects:@\"1\", @\"2\", @\"3\", @\"4\", @\"5\", nil];NSString *_str = [_arr componentsJoinedByString:@\",\"];',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:2,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 适合初学者ios的论坛 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信