APP推广合作
联系“鸟哥笔记小乔”
4 个月学习 iOS 开发的经验 (0基础到上架 AppStore)
2016-02-16 18:47:53
文章开头先说下上架的这款 App 吧,赶在春节前收到了 Apple 的审核通过邮件,当时还是挺高兴的,算是对自己4个月学习的肯定,开发这款 App 原因很简单,只是因为自己经常忘记下雨拿伞,期间 UI 设计改了好多次,代码也重写了几次,最后的成品基本满足自己的心里预期,为了赶在春节前上架,有些 Bug 还没有处理,1.1版本目前已经提交, UmbrellaWeather 这款 App 差不多长这样:


屏幕快照 2016-02-13 下午3.00.51.png
我是从去年 9 月下旬开始学习 iOS 开发的,作为一个 0 基础并且英语也不怎么好的人,学习编程首先当然就是兴趣,因为自己已经在工作了,每天都是抽出空闲时间学习,从学习到第一款 App 上架 App Store 差不多4个月时间,这里我给出一些自己的学习过程和经验

从 RAY 的第一个教程开始

tutorial1

我是从 RAY 的第一个开发 APP 的教程开始了我的学习,这个教程的第一个项目很简单,代码非常少,让我对 iOS 开发有了基本的了解和认识,了解 Xcode 的使用,当然里面有些地方当时还不是很能理解,而且本来英语就不怎么好的我来说,看起来还是非常吃力的,在这个过程中,我既锻炼了自己的英语水平,又对 iOS 的开发有了一个基本了解和认识,后面在围绕着一些疑问学习,会起到很好的提高作用.


学习 Swift 语言

有了开发一款 APP 的学习经验,在看 Swift 语言,很多地方都会有豁然开朗的感觉,我感觉这种方式是学习一个新知识最好的过程, Swift 语言建议细读,并且配合 Xcode 的 Playground 全部敲一遍,尽量做到理解,作为 0 基础的我来说,在学习 Swift 语言的时候,很多概念还是有些困惑,不过学习过程就是这样,明白了一个知识点,马上有新的知识点需要了解,就是这样一个循序渐进的过程,在这个阶段我对编程语言的 字符串 变量和常量 集合类型 循环方式 类和结构体 有了基本的认识,必须要说的是, Swift 语言是后面学习经常回头看的内容,因为在后面的学习中,很多不明白的地方,结合当时的项目,马上就能理解其中的含义,毕竟在项目里面的使用才是理解问题的最好方式.


网络教程

网上免费的 iOS 开发教程还是挺多的,这个阶段我主要是把 iOS 的一些基本框架了解了一下,首先当然是 UIKit 的学习,把系统的基础组件都过了一遍,例如 UIButton UILabel Storyboard 等等内容,第二阶段学习了TableView ScrollView 这两个核心组件的基本使用,还有页面传值的方法 delegate Storyboard
这里再推荐一个国外免费 Swift 学习的网站,基本包括了所有常用组件和 Api.
Hacking with Swift

RAY 的剩余三个开发项目

tutorials

在有了前面组件和语言的学习,剩余三个项目的学习,就是融汇贯通的过程,因为前面只是学习了 <它是什么?> 这里通过 RAY 的教程了解 <如何巧妙的运用到项目中>, RAY 的 iOS 开发教程都是从简单的实现到巧妙的运用逻辑整理代码的过程,这个过程可以很好的理解复杂逻辑和代码的实现方式和使用方法还有编程的逻辑思维能力.

第一个项目让我对 传值 TableView 有了更深的理解,
第二个项目是对于 定位 SDK 的系统学习还有各种错误的处理方式和思路.
第三项目是网络编程的学习,如何请求数据展现数据等.

这三个教程我做了很多笔记,可以说四个项目的开发学习主要就是让我开始有编程的逻辑思维能力,这都是在学习的时候无形中提高的,这也是 RAY 的开发教程最大的财富所在,当然也大大提高了英语阅读能力,虽然不能说有质的提高,至少是对 iOS 开发这块的词汇有了很深的记忆

开发个人项目

在有了前面几个项目的学习,我对 iOS 开发有了比较系统的了解,这个时候我开始了我的第一款 iOS 的开发,跟着别人学,和自己遇到困难想出解决方法并学习,这两个学习方式还是很大区别的,第一个锻炼自己解决问题的能力并且印象更加深刻,第二个,实践出真知,许多知识点也只有你真正实践过,才更加明白其中的含义.

在开发这款 App 的时候我用的最多的当然是 Google 和苹果的官方文档 ,必须要说的是,查询资料不是查询如何开发,而是在自己想到了点子的情况下,查询代码的实现方式,然后实现,在这个项目中我对 Swift 开发语言有了更深的了解,还有数据持久化储蓄和网络请求这一块.
在实际开发过程中很多前面学习到的模糊概念这里得到修正,可能前面你以为理解了的东西,发现好像不对或者说有点问题,因为只有在实际项目中出现 Bug 或者没有达到预期效果,你才会回头思考这个知识点是不是原来的理解有误区.
在这个项目中,我使用了第三方远程推送,也学习了推送的注册和使用,iOS 的后台机制,Animation 的简单使用,项目的发布过程和内购的实现等等,因为使用的是国内天气 API 的免费服务,每天请求次数是有限制的,为了尽量减少用户不必要的网络请求次数,优化请求次数也下了不少功夫,设计 UI 还简单学习了下 Sketch 这款软件的使用,整个项目最大的进步应该是自学能力的提高吧!

下步计划

在第一款 App 项目的审核阶段,我已经开始了第二款 App 的开发工作,在项目的开发过程中,构思功能并且解决是学习 iOS 最好的方式,在接下来的学习计划中,我准备把斯坦福的公开课视频过一遍,研究学习透几个 Swift 开源项目,这差不多是我后几个月的学习规划.

说说经验

在学习前期,多看一些优秀的开发项目,是学习的最快和最有效的途径, RAY 的这4个教程就起到这个作用,因为它会在教程中一步步告诉你实现的逻辑和方式,对于刚学习编程的人来说很好理解,如果对一些地方的实现方式有些困惑, Xcode 的 Playground 是最好的研究场所,没事多在里面敲敲代码,比什么都强,学习编程并不像其他东西那样你掌握了1在学习2这样一阶一阶学习进步的,很多时候,1可能你还没能理解,在学习3或者4的时候才对1豁然开朗,不要因为某个知识点没搞懂就感觉自己学不来丧失学习热情,很多地方都是了解了面才掌握了点,尽量多用 Google 不要怕看英语,不要忽视了英语的学习,这个也是学习编程必须提高的东西.

学一个新东西不要一开始就设定一个很大的目标,那样可能很容易放弃,设定一个个小目标,比如今天我要搞懂类是什么,明天我要了解下TableView ,这周我要了解UIKit基础组件的使用,这个月我要开发出一个项目,这样更能坚持和持续下去

实践出真知,实践出真知,实践出真知,重要的事情说三遍。
运营那些事儿
分享到朋友圈
收藏
收藏
评分

综合评分:

我的评分
Xinstall 15天会员特权
Xinstall是专业的数据分析服务商,帮企业追踪渠道安装来源、裂变拉新统计、广告流量指导等,广泛应用于广告效果统计、APP地推与CPS/CPA归属统计等方面。
20羽毛
立即兑换
一书一课30天会员体验卡
领30天VIP会员,110+门职场大课,250+本精读好书免费学!助你提升职场力!
20羽毛
立即兑换
顺丰同城急送全国通用20元优惠券
顺丰同城急送是顺丰推出的平均1小时送全城的即时快送服务,专业安全,准时送达!
30羽毛
立即兑换
运营那些事儿
运营那些事儿
发表文章43455
确认要消耗 羽毛购买
4 个月学习 iOS 开发的经验 (0基础到上架 AppStore)吗?
考虑一下
很遗憾,羽毛不足
我知道了

我们致力于提供一个高质量内容的交流平台。为落实国家互联网信息办公室“依法管网、依法办网、依法上网”的要求,为完善跟帖评论自律管理,为了保护用户创造的内容、维护开放、真实、专业的平台氛围,我们团队将依据本公约中的条款对注册用户和发布在本平台的内容进行管理。平台鼓励用户创作、发布优质内容,同时也将采取必要措施管理违法、侵权或有其他不良影响的网络信息。


一、根据《网络信息内容生态治理规定》《中华人民共和国未成年人保护法》等法律法规,对以下违法、不良信息或存在危害的行为进行处理。
1. 违反法律法规的信息,主要表现为:
    1)反对宪法所确定的基本原则;
    2)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一,损害国家荣誉和利益;
    3)侮辱、滥用英烈形象,歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉;
    4)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动;
    5)煽动民族仇恨、民族歧视,破坏民族团结;
    6)破坏国家宗教政策,宣扬邪教和封建迷信;
    7)散布谣言,扰乱社会秩序,破坏社会稳定;
    8)宣扬淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪;
    9)煽动非法集会、结社、游行、示威、聚众扰乱社会秩序;
    10)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益;
    11)通过网络以文字、图片、音视频等形式,对未成年人实施侮辱、诽谤、威胁或者恶意损害未成年人形象进行网络欺凌的;
    12)危害未成年人身心健康的;
    13)含有法律、行政法规禁止的其他内容;


2. 不友善:不尊重用户及其所贡献内容的信息或行为。主要表现为:
    1)轻蔑:贬低、轻视他人及其劳动成果;
    2)诽谤:捏造、散布虚假事实,损害他人名誉;
    3)嘲讽:以比喻、夸张、侮辱性的手法对他人或其行为进行揭露或描述,以此来激怒他人;
    4)挑衅:以不友好的方式激怒他人,意图使对方对自己的言论作出回应,蓄意制造事端;
    5)羞辱:贬低他人的能力、行为、生理或身份特征,让对方难堪;
    6)谩骂:以不文明的语言对他人进行负面评价;
    7)歧视:煽动人群歧视、地域歧视等,针对他人的民族、种族、宗教、性取向、性别、年龄、地域、生理特征等身份或者归类的攻击;
    8)威胁:许诺以不良的后果来迫使他人服从自己的意志;


3. 发布垃圾广告信息:以推广曝光为目的,发布影响用户体验、扰乱本网站秩序的内容,或进行相关行为。主要表现为:
    1)多次发布包含售卖产品、提供服务、宣传推广内容的垃圾广告。包括但不限于以下几种形式:
    2)单个帐号多次发布包含垃圾广告的内容;
    3)多个广告帐号互相配合发布、传播包含垃圾广告的内容;
    4)多次发布包含欺骗性外链的内容,如未注明的淘宝客链接、跳转网站等,诱骗用户点击链接
    5)发布大量包含推广链接、产品、品牌等内容获取搜索引擎中的不正当曝光;
    6)购买或出售帐号之间虚假地互动,发布干扰网站秩序的推广内容及相关交易。
    7)发布包含欺骗性的恶意营销内容,如通过伪造经历、冒充他人等方式进行恶意营销;
    8)使用特殊符号、图片等方式规避垃圾广告内容审核的广告内容。


4. 色情低俗信息,主要表现为:
    1)包含自己或他人性经验的细节描述或露骨的感受描述;
    2)涉及色情段子、两性笑话的低俗内容;
    3)配图、头图中包含庸俗或挑逗性图片的内容;
    4)带有性暗示、性挑逗等易使人产生性联想;
    5)展现血腥、惊悚、残忍等致人身心不适;
    6)炒作绯闻、丑闻、劣迹等;
    7)宣扬低俗、庸俗、媚俗内容。


5. 不实信息,主要表现为:
    1)可能存在事实性错误或者造谣等内容;
    2)存在事实夸大、伪造虚假经历等误导他人的内容;
    3)伪造身份、冒充他人,通过头像、用户名等个人信息暗示自己具有特定身份,或与特定机构或个人存在关联。


6. 传播封建迷信,主要表现为:
    1)找人算命、测字、占卜、解梦、化解厄运、使用迷信方式治病;
    2)求推荐算命看相大师;
    3)针对具体风水等问题进行求助或咨询;
    4)问自己或他人的八字、六爻、星盘、手相、面相、五行缺失,包括通过占卜方法问婚姻、前程、运势,东西宠物丢了能不能找回、取名改名等;


7. 文章标题党,主要表现为:
    1)以各种夸张、猎奇、不合常理的表现手法等行为来诱导用户;
    2)内容与标题之间存在严重不实或者原意扭曲;
    3)使用夸张标题,内容与标题严重不符的。


8.「饭圈」乱象行为,主要表现为:
    1)诱导未成年人应援集资、高额消费、投票打榜
    2)粉丝互撕谩骂、拉踩引战、造谣攻击、人肉搜索、侵犯隐私
    3)鼓动「饭圈」粉丝攀比炫富、奢靡享乐等行为
    4)以号召粉丝、雇用网络水军、「养号」形式刷量控评等行为
    5)通过「蹭热点」、制造话题等形式干扰舆论,影响传播秩序


9. 其他危害行为或内容,主要表现为:
    1)可能引发未成年人模仿不安全行为和违反社会公德行为、诱导未成年人不良嗜好影响未成年人身心健康的;
    2)不当评述自然灾害、重大事故等灾难的;
    3)美化、粉饰侵略战争行为的;
    4)法律、行政法规禁止,或可能对网络生态造成不良影响的其他内容。


二、违规处罚
本网站通过主动发现和接受用户举报两种方式收集违规行为信息。所有有意的降低内容质量、伤害平台氛围及欺凌未成年人或危害未成年人身心健康的行为都是不能容忍的。
当一个用户发布违规内容时,本网站将依据相关用户违规情节严重程度,对帐号进行禁言 1 天、7 天、15 天直至永久禁言或封停账号的处罚。当涉及欺凌未成年人、危害未成年人身心健康、通过作弊手段注册、使用帐号,或者滥用多个帐号发布违规内容时,本网站将加重处罚。


三、申诉
随着平台管理经验的不断丰富,本网站出于维护本网站氛围和秩序的目的,将不断完善本公约。
如果本网站用户对本网站基于本公约规定做出的处理有异议,可以通过「建议反馈」功能向本网站进行反馈。
(规则的最终解释权归属本网站所有)

我知道了
恭喜你~答对了
+5羽毛
下一次认真读哦
成功推荐给其他人
+ 10羽毛
评论成功且进入审核!审核通过后,您将获得10羽毛的奖励。分享本文章给好友阅读最高再得15羽毛~
(羽毛可至 "羽毛精选" 兑换礼品)
好友微信扫一扫
复制链接