真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios炫酷控件開發(fā),iOS控件

iOS 開發(fā)怎么入門

先看object-c 一些基礎(chǔ)語(yǔ)法 學(xué)習(xí)一些簡(jiǎn)單的控件 view label textfield button tableview collectionview 這些能用明白一些基礎(chǔ)的對(duì)象基本就算是入門了

為西藏等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及西藏網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、西藏網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

IOS開發(fā)Text View控件如何一直顯示滾動(dòng)條,并自動(dòng)滾動(dòng)到最后一行?

textview默認(rèn)顯示滾動(dòng)條.但只有拖動(dòng)時(shí)...有個(gè)屬性是tracking,但是是只讀的...所以設(shè)置不了.不過(guò)我覺(jué)得可以用KVO拿到那個(gè)滾動(dòng)條,KVC監(jiān)聽tracking ,當(dāng)值NO時(shí),果斷顯示...思路而已

偷懶就跟PM說(shuō),系統(tǒng)限制,不能做,但是自動(dòng)滾到到最后一行,很簡(jiǎn)單,判斷換行沒(méi),換了就設(shè)置其中一個(gè)方法

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated; // animate at constant velocity to new offset

- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated; // scroll so rect is just visible (nearest edges). nothing if rect completely visible

對(duì)了 我發(fā)現(xiàn)了這個(gè)

- (void)flashScrollIndicators; // displays the scroll indicators for a short time. This should be done whenever you bring the scroll view to front.

你可以試一下 嘿嘿.

IOS開發(fā)要學(xué)習(xí)哪些方面的知識(shí)?

第一步:編程入門課

時(shí)間預(yù)計(jì):4個(gè)星期

推薦看公開課,Udacity也行,網(wǎng)易公開課也行,自己找一個(gè)面對(duì)對(duì)象語(yǔ)言(一般是JAVA, C++, Python)的課。我是在網(wǎng)易公開課看的斯坦福的CS106A,學(xué)的JAVA。

如果你純粹學(xué)iOS開發(fā),不推薦看哈佛CS50,CS50是給CS系的學(xué)生介紹整個(gè)計(jì)算機(jī)世界的框架,講的內(nèi)容比較多,進(jìn)度比較快,對(duì)iOS開發(fā)其實(shí)有點(diǎn)累贅了。(臣妾有點(diǎn)跟不上?。。。?/p>

計(jì)劃安排是一天一課,看課程要求的書(至少看完一本)及大部分作業(yè)。這一階段重點(diǎn)不是語(yǔ)法,而是以下3個(gè)目標(biāo)。

目標(biāo):

1. 讓自己對(duì)編程這件事感到適應(yīng)。

寫hello world。

怎么寫function, 怎么調(diào)用function。

全局變量,局部變量這類基本知識(shí)點(diǎn)。

都是基本的東西??纯磿?,寫多兩個(gè)程序就歐啦。

2. 掌握編程語(yǔ)言的基本要素。

編程語(yǔ)言4個(gè)要素:

a. 基本的數(shù)據(jù)類型:整數(shù),實(shí)數(shù),character, string, boolean

b. 基本的運(yùn)算符號(hào):+-×/++--那啥的

c. 怎樣輸入輸出

d. 怎樣控制程序:sequence,selection,loop

3. 了解編程范式

面對(duì)過(guò)程編程。

面向?qū)ο缶幊獭?/p>

第二步:上手iOS!

時(shí)間預(yù)計(jì):2星期

強(qiáng)烈推薦CS193P,老頭子講的超級(jí)好!我的很多東西(對(duì)象思維啥的)是在這里跟著做練習(xí)的時(shí)候才真正明白的(好啦,也可能是上一堂課練習(xí)做得少的原因)。如果等到9月應(yīng)該itunes U上會(huì)開始教iOS 7了。網(wǎng)易公開課的是2010年iOS 5版的,前10堂課,也行。(iTunes U上有完整的課)

CS193P說(shuō)有prerequisite,一開始被嚇到,事實(shí)證明還是可以學(xué)下去的。頭兩節(jié)課一頭霧水,沒(méi)關(guān)系,把itunes U上的課件下載下來(lái),把所有代碼打出來(lái),然后一個(gè)個(gè)元素對(duì)應(yīng)之前學(xué)的語(yǔ)言匹配,再不懂先放著,繼續(xù)學(xué)后邊的,過(guò)幾天打多點(diǎn)代碼就懂了。

感覺(jué)學(xué)5、6堂課,一個(gè)星期左右就可以開始進(jìn)入下一階段自己做東西了。之后用啥學(xué)啥,每堂課都有主題的。速度慢點(diǎn)的同學(xué)們,這階段跟我一樣準(zhǔn)備兩個(gè)星期吧!

第三步:開發(fā)app!

時(shí)間預(yù)計(jì):2星期(本人...1個(gè)半月,實(shí)在不好意思說(shuō)出口)

這個(gè)時(shí)間就可長(zhǎng)可短啦,還包括美工,交互啥的。堅(jiān)持要用啥學(xué)啥的原則,其實(shí)就是知道iOS SDK都有什么組件,每個(gè)組件有什么function而已。stackoverflow, Github, apple sample code多上,搜索引擎多用。如果有個(gè)師傅,這個(gè)階段真的是進(jìn)步神速。

好的!不出意外,你的第一個(gè)app就這么新鮮出爐了!從今天開始,成為一個(gè)冷艷逼格高尚的iOS開發(fā)者吧!

如何學(xué)習(xí)ios應(yīng)用開發(fā)

作者:匿名用戶

鏈接:

另一本是Big?Nerd?Ranch出的《Objective-C編程(第2版)》。(推薦華中師大出的版本)

img?src=""?data-rawwidth="333"?data-rawheight="413"?class="content_image"?width="333"

——————————————————————

2、視頻教程的話,只推薦我贏職場(chǎng)出的iOS移動(dòng)開發(fā)課程。

教程鏈接如下:

iOS9實(shí)戰(zhàn)開發(fā)教程

img?src=""?data-rawwidth="398"?data-rawheight="202"?class="content_image"?width="398"

講的細(xì)致是這門課程最大的特點(diǎn)。因此,這款教程尤其適合那些零基礎(chǔ)學(xué)習(xí)iOS的學(xué)員。我贏職場(chǎng)知名度不夠,但是做的課程不錯(cuò),可惜沒(méi)人聽說(shuō)過(guò)這個(gè)品牌。這款教程是從Objc一直講到iOS高編。所以跟著這款教程走,iOS開發(fā)基本也可以學(xué)的差不多。

——————————————————————

二、其次,你要學(xué)習(xí)API,了解iOS?UI控件

Objc階段的學(xué)習(xí)只是帶你入門,如果你想進(jìn)階,API和UI控件是必須需要學(xué)的。一門語(yǔ)言可能會(huì)有成千上百的API和UI控件。你不需要把他們?nèi)加涀?,只需要記住一些常用的即可?/p>

例如:Objc中的UITableView的dataSouce和delegate;NSDictionary、NSArray相關(guān)的增刪查改方法;JSON數(shù)組轉(zhuǎn)換方法;文件操作方法等。

UI控件的話,常用的有UIView、UITableView、UIScrollView、UIButton、UILable等。你要熟悉這些控件的屬性和相關(guān)的操作方法。

記憶這些東西,只靠死記硬背是不行的。多去寫代碼,多去實(shí)踐,這樣才能逐漸掌握。

學(xué)完這個(gè)階段,基本上就可以做出來(lái)一個(gè)簡(jiǎn)單的APP了。由于沒(méi)有進(jìn)一步學(xué)習(xí)高深的東西,咱們暫且不說(shuō)流暢性和內(nèi)存。

UI控件部分的知識(shí)點(diǎn)如圖:

img?src=""?data-rawwidth="607"?data-rawheight="531"?class="origin_image?zh-lightbox-thumb"?width="607"?data-original=""

——————————————————————

三、最后,你還需要了解iOS開發(fā)的底層原理。

能學(xué)到這一部分已經(jīng)很不錯(cuò)了。所謂專業(yè)的iOS開發(fā)工程師和一個(gè)業(yè)余的iOS開發(fā)愛好者基本也差在這最后一步了。這一部分的知識(shí)點(diǎn)也是在面試的時(shí)會(huì)經(jīng)常問(wèn)道的。如果你想找一份iOS開發(fā)工程師的職位,這一部分是非學(xué)不可的。

這一部分的需要掌握的知識(shí)點(diǎn)包括:

iOS內(nèi)存管理、iOS運(yùn)行時(shí)機(jī)制、RunLoop、多線程等

每一塊都需要掌握的很詳細(xì)。

你還要熟練使用類庫(kù)并閱讀類庫(kù)源碼,例如AFNetWorking、SDWeblmage等,這兩個(gè)是初學(xué)者必看的。

——————————————————————

這一階段的學(xué)習(xí)可以多去github上下載源代碼去閱讀。

推薦一些完整的源碼下載:

1、懶人筆記iOS客戶端

GitHub?-?liaojinxing/Voice2Note:?Voice2Note?iOS?client?source?codes.

2、《猿已閱》碼農(nóng)周刊iOS客戶端

GitHub?-?icepy/manong-reading:?《猿已閱》碼農(nóng)周刊?iOS?App(放棄維護(hù),推薦大家下載《開發(fā)者頭條》App)

3、火狐瀏覽器iOS客戶端

GitHub?-?mozilla/firefox-ios:?Firefox?for?iOS

4、某位大神做的高仿網(wǎng)易新聞項(xiàng)目源碼

GitHub?-?dsxNiubility/SXNews:?High?imitation?Neteasy?News.?(include?list,detail,photoset,weather,feedback)

5、維基百科iOS客戶端

GitHub?-?wikimedia/wikipedia-ios:?The?official?Wikipedia?iOS?app.

6、品趣iOS客戶端

GitHub?-?ltebean/novel-design:?PinQu?ios?client

7、YoCelsius——一款天氣預(yù)報(bào)的應(yīng)用

GitHub?-?YouXianMing/YoCelsius:?A?weather?app?that?uses?animation?to?give?you?an?at-a-glance?look?at?the?weather.

8、密記iOS版——款簡(jiǎn)單的筆記應(yīng)用

GitHub?-?iHTCboy/SecurityNote:?密記iOS版:本應(yīng)用主要功能是簡(jiǎn)單筆記?!疽呀?jīng)開源,AppStroe可下載】The?application?of?the?main?function?is?a?simple?notes.

——————————————————————

四、關(guān)于swift語(yǔ)言的學(xué)習(xí)。

學(xué)習(xí)iOS開發(fā)分為Objc和swift兩個(gè)路線,以上介紹的是最經(jīng)典的Objc路線。如果你想靠學(xué)習(xí)iOS開發(fā)找到一份工作,就要選擇從Objc開始學(xué)起。因?yàn)榻^大多數(shù)公司都是以O(shè)bjc為開發(fā)語(yǔ)言的。

然而swift作為一門現(xiàn)代語(yǔ)言,集合了很多編程語(yǔ)言的優(yōu)點(diǎn),并且比Objc也更加簡(jiǎn)單易學(xué),近幾年swift語(yǔ)言的發(fā)展勢(shì)頭十分不錯(cuò),大有取代Objc而代之的跡象。所以在這里建議題主把兩個(gè)語(yǔ)言都學(xué)習(xí)一下。并且Swift語(yǔ)言是在Objc的基礎(chǔ)上發(fā)明的,學(xué)完Objc,再學(xué)習(xí)swift也會(huì)更加容易。

關(guān)于swift路線的學(xué)習(xí),可以看看我贏職場(chǎng)的iOS開發(fā)教程,有大篇幅的章節(jié)去介紹swift語(yǔ)言,并且講得細(xì)致入微,十分適合新手學(xué)習(xí)。

教程鏈接:iOS9實(shí)戰(zhàn)移動(dòng)開發(fā)(swift加強(qiáng)版)

img?src=""?data-rawwidth="860"?data-rawheight="589"?class="origin_image?zh-lightbox-thumb"?width="860"?data-original=""

五、下面把自己多年來(lái)私藏的一些學(xué)習(xí)iOS開發(fā)的網(wǎng)站推薦給大家。當(dāng)然這只是部分,贊數(shù)過(guò)百還會(huì)把這些資料再放出來(lái)一部分。所以,你們快點(diǎn)贊吧!

——————————————————————

iOS開發(fā)相關(guān)的網(wǎng)站:

1、我贏職場(chǎng)

上文已經(jīng)介紹過(guò)了,他們家的課程質(zhì)量算是很贊的了,教程最大的特點(diǎn)是特別適合新手學(xué)習(xí)。

2、tutsplus

不定時(shí)更新一些?iOS?教程

3、WWDC

蘋果官方每年一度的?WWDC?視頻,?可以了解歷年有關(guān)?iOS?發(fā)布的內(nèi)容。

4、asciiwwdc

WWDC?的文字版

5、Swift?by?Robin?Eggenkamp

該網(wǎng)站收集了很多關(guān)于?Swift?的學(xué)習(xí)資料,?新聞。

——————————————————————

郵件訂閱:

1、iOS?Dev?Weekly

每周一期,內(nèi)容多為這一星期里值得關(guān)注的?GitHub?項(xiàng)目、文章、工具等。

2、iOS?Design?Weekly

每周一期,會(huì)提供一些iOS開發(fā)的建議,新聞資訊以及創(chuàng)意方面的內(nèi)容。

IOS開發(fā)以及Tab Bar使用講解

為了更好理解使用用tabbar和切換視圖,我們創(chuàng)建一個(gè)Empty Application。

   1、 打開Xcode ,新建項(xiàng)目

   2、 創(chuàng)建View Controller

在項(xiàng)目上按花鍵+N創(chuàng)建新文件,創(chuàng)建 Objective-C class 文件,按Next按鈕,subClass 選UIViewController 。勾選上xib選項(xiàng)

以同樣方式創(chuàng)建另外三個(gè)ViewController ,RedViewController ,GreyViewController,YellowViewController。四個(gè)View準(zhǔn)備好了。那么Tabbar呢?

   3、 創(chuàng)建TabBarController.xib文件,選擇創(chuàng)建Empty文件

這時(shí)候你發(fā)現(xiàn)創(chuàng)建的xib文件是空白的,不用慌,去右下角控件欄中把TabBar Controller拖過(guò)來(lái)就Ok了。

4、 關(guān)聯(lián)TabBarController.xib ,tabbarAppDelegate這兩個(gè)文件

在上圖中選擇File’s Owner,打開Identity Inspector,在Class一欄選擇tabbarAppDelegate

這樣,我們就可以創(chuàng)建TabBarController.xib 文件指向tabbarAppDelegate 文件的Outlet映射了。

5、 在Xcode中的工具欄的View菜單找到 打開Assistant Editor,使tabbarAppDelegate.h和TabBarController.xib 同時(shí)打開。

在xib文件上按住control鍵,往tabbarAppDelegate.h,創(chuàng)建Outlet.

彈出窗口輸入 rootController,點(diǎn)connect。

   6、 添加代碼

打開tabbarAppDelegate.m,在didFinishLaunchingWithOptions方法中添加代碼:

1.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

2. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

3. // Override point for customization after application launch.

4. [[NSBundle mainBundle] loadNibNamed:@"TabBarController" owner:self options:nil];

5. [self.window addSubview:self.rootController.view];

6. self.window.backgroundColor = [UIColor whiteColor];

7. [self.window makeKeyAndVisible];

8. return YES;

   7、 往TabBarController.xib上添加Tab Bar Item,

把控件欄上的Tab Bar Item控件往TabBarController.xib上拖拽即可,一個(gè)放4個(gè)。

   8 、關(guān)聯(lián)Tab Bar Item和***ViewController。

選擇其中一個(gè)Tab Bar Item,在右上角打開Identity Inspector,在Class中選擇BlueViewController:

然后,打開Attribute,在NIB Name選擇BlueViewController:

其他3個(gè)tab item重復(fù)類似的操作,選中對(duì)應(yīng)的ViewController,這樣在切換Tab標(biāo)簽時(shí),就可以切換到對(duì)應(yīng)的頁(yè)面。

9、 設(shè)置tab item的屬性

選中其中一個(gè)tab item ,會(huì)在右上角的屬性欄里看到如下信息

Badge是紅色圈圈里面有數(shù)字 ,表示有多少條信息的屬性

Identifier 是tab item的樣式,選custom是自定義,下面的是系統(tǒng)的樣式。我選了其中四種。

bar ITem 的title image在custom的樣式下能設(shè)置。

10 、剩下的3個(gè)Tab Item也做類似的設(shè)置即可。

現(xiàn)在基本完工,運(yùn)行看看結(jié)果如何。好吧,其實(shí)和第一第二個(gè)圖是一樣的`,這里就不放了。

11 、在viewDidLoad方法加Log觀察切換View

可以加寫日志看看對(duì)應(yīng)的View是什么時(shí)候運(yùn)行的。第一個(gè)運(yùn)行的View是BlueViewController,點(diǎn)擊其他的tab項(xiàng)時(shí),加載其他的view,加載一次之后下次點(diǎn)擊不再調(diào)用viewDidLoad。

1.- (void)viewDidLoad

2. [super viewDidLoad];

3. NSLog(@"BlueViewController");

4. // Do any additional setup after loading the view from its nib.

有沒(méi)有自學(xué) iOS 開發(fā)的一些經(jīng)驗(yàn)

基礎(chǔ)

一定的編程經(jīng)驗(yàn)

這里說(shuō)的編程經(jīng)驗(yàn)是至少熟練一門編程語(yǔ)言,對(duì) OOP 有一定的了解,最好熟悉一些基本的設(shè)計(jì)模式。遇到過(guò)的好多 iOS 開發(fā),大多是從別的語(yǔ)言轉(zhuǎn)過(guò)來(lái)的,所以有一定的編程基礎(chǔ),學(xué)起來(lái)會(huì)更容易 get the point.

如果是第一次接觸編程,當(dāng)然也是沒(méi)問(wèn)題的,只是要做好心理準(zhǔn)備,可能會(huì)比想象的難。

英語(yǔ)

發(fā)現(xiàn)不少開發(fā)對(duì)于英語(yǔ)似乎有點(diǎn)接受不能,通常都是中文優(yōu)先,除非迫不得已,才硬著頭皮看看 StackOverflow,英文文章,文檔等。忘了是誰(shuí)說(shuō)過(guò)「難走的路越走越好走」,通常如此。其實(shí)只要稍微 push 一下自己,那些技術(shù)文章啃下來(lái)應(yīng)該不會(huì)有太大的問(wèn)題,有過(guò)幾次成功的體驗(yàn)后,這種恐懼感就會(huì)減少很多。優(yōu)質(zhì)的文章、視頻、書籍,多是英文的,不邁過(guò)這個(gè) 坎,將來(lái)要么成為瓶頸,要么花更大的成本去填補(bǔ)。

入門

書籍

要學(xué)習(xí) iOS 開發(fā),自然要先學(xué) Objective-C (當(dāng)然現(xiàn)在也可以直接上 Swift,不過(guò)如果多人協(xié)作的話,OC目前還是主流),因?yàn)?OC 是 C 語(yǔ)言的超集,所以了解 C 語(yǔ)言對(duì)于學(xué)習(xí) OC 肯定會(huì)有幫助,不過(guò)就算不了解,直接學(xué) OC 也沒(méi)太大問(wèn)題。

這里推薦 BNR (Big Nerd Ranch) 的這本 Objective-C Programming The Big Nerd Ranch Guide,講解地比較細(xì)致,能幫助你更好的理解 OC,更重要的是教你遇到問(wèn)題時(shí),如何去解決問(wèn)題,以及這個(gè)問(wèn)題對(duì)應(yīng)的一些知識(shí)點(diǎn),如何使用文檔等等。

來(lái)到一個(gè)新的世界,肯定會(huì)對(duì)這個(gè)世界充滿好奇,想訂閱一大堆博客,買一堆書,看各種教程和視頻,然后就變得浮躁,不知該從哪下手,這會(huì)導(dǎo)致拖延癥。 我渴了,給我倒一杯水,這個(gè)很直接,馬上就可以做,但如果是給我買一瓶飲料,而自己對(duì)那些飲料又不怎么熟悉時(shí),就糾結(jié)了,不如刷會(huì)微博,看看朋友圈,玩?zhèn)€小游戲先。

所以一本好的入門教材很重要,要契合自己當(dāng)前的水平,且常常會(huì)有收獲,這種成就感會(huì)激勵(lì)著你繼續(xù)學(xué)下去。

在看書的過(guò)程中,往往會(huì)有這樣的經(jīng)歷:書中提到某個(gè)人、觀點(diǎn)、知識(shí)點(diǎn)、書、文章,然后就順著它提到的這些東西出去了,可能某個(gè)知識(shí)點(diǎn)又牽扯到另一些內(nèi)容,然后就這樣越走越遠(yuǎn)。想起了一個(gè)故事——

三只獵狗追一只土拔鼠,土拔鼠逃跑時(shí)鉆進(jìn)了一個(gè)樹洞。這個(gè)樹洞只有一個(gè)出口,不一會(huì)兒,忽然從樹洞里跑出一只兔子。兔子飛快地向前跑,并爬上另一棵大樹。兔子因?yàn)榛艁y在樹上沒(méi)站穩(wěn),掉了下來(lái),砸暈了正仰頭看的三只獵狗,最后,兔子終于逃脫。

對(duì)于這個(gè)故事可以從不同的角度去解讀,我更愿意以初心去解讀。兔子為什么會(huì)爬樹?為什么能砸暈三只獵狗?這不是重點(diǎn),重點(diǎn)是,之前追趕的土撥鼠哪去了?看書時(shí)難免會(huì)有延伸閱讀,這個(gè)深度我覺(jué)得不宜超過(guò) 2 層,不然很容易就回不來(lái)了。

還有就是如果有可能,最好每天都看點(diǎn),這其實(shí)是很難的,因?yàn)榭偸菚?huì)有優(yōu)先級(jí)更高的事,或者之前的某些習(xí)慣在干擾。一旦斷了幾天,就不想再拿起來(lái)了。

還有,蘋果官方的 Start Developing iOS Apps Today 也是很不錯(cuò)的入門材料。

視頻

推薦斯坦福老頭子(Paul Hegarty)的 Developing iOS 7 Apps for iPhone and iPad ,當(dāng)初也是看的這個(gè)(那時(shí)還是更老的版本),Paul 是資深的 Mac/iOS 開發(fā)(前蘋果員工?),很多知識(shí)點(diǎn)講得很到位,學(xué)生們的提問(wèn)也大都在點(diǎn)上,同時(shí)配有Demo,總之聽下來(lái)會(huì)對(duì) iOS 開發(fā)有比較全面的了解。

同時(shí)推薦一本小冊(cè)子:objc-zen-book,花不長(zhǎng)時(shí)間就能看完,里面是一些 Best Practices,對(duì)于編寫優(yōu)質(zhì)代碼會(huì)很有幫助。

筆記

這是一個(gè)持久的過(guò)程,任何階段都適用。以前也沒(méi)太在意這個(gè),覺(jué)得概念性的東西,腦子過(guò)一遍,就大概知道了,然后就去啃其他的東西了,現(xiàn)在看來(lái),如果有記筆記的話,會(huì)更有助于消化概念、知識(shí)點(diǎn),也可以記錄自己的思考過(guò)程。達(dá)芬奇就記錄了10000多頁(yè)的筆記。

記筆記可以加深對(duì)知識(shí)點(diǎn)的理解,而成為編程巨星的唯一秘訣就是:對(duì)所做的事情理解地越深,就會(huì)做得越好。同時(shí)如果遵循遺忘曲線去復(fù)習(xí)的話,效果更佳。對(duì)知識(shí)點(diǎn)了解地足夠透徹后,Debug 時(shí)才更有可能知道問(wèn)題出在哪,解決問(wèn)題也更容易有思路。

筆記不僅可以記知識(shí)點(diǎn),也可以記錄調(diào)試過(guò)程,比如這篇筆記,有一種調(diào)試方法:小黃鴨調(diào)試法

許多程序員都有過(guò)向別人(甚至可能向完全不會(huì)編程的人)提問(wèn)及解釋編程問(wèn)題,就在解釋的過(guò)程中擊中了問(wèn)題的解決方案。一邊闡述代碼的意圖一邊觀察它實(shí)際上的意圖并做調(diào)試,這兩者之間的任何不協(xié)調(diào)會(huì)變得很明顯,并且更容易發(fā)現(xiàn)自己的錯(cuò)誤。

生活中我們可能不會(huì)真的這么去做,這時(shí)抽離出另一個(gè)自己,記錄下跟ta的對(duì)話,也是個(gè)發(fā)現(xiàn)問(wèn)題的好方法。

練習(xí)

這也是一個(gè)持續(xù)的過(guò)程,知道了些概念或原理后,總是會(huì)想著去驗(yàn)證下是不是這樣,無(wú)論結(jié)果是否如自己預(yù)期,實(shí)踐的過(guò)程會(huì)降低對(duì)語(yǔ)言的陌生感,慢慢地培養(yǎng)一種駕馭這門語(yǔ)言的自信,如果出了錯(cuò),正好可以重新梳理一下。

目標(biāo)

如果靜下心來(lái)看完了 BNR 的這本書,以及斯坦福的 iOS 開發(fā)視頻,那么對(duì) OC 應(yīng)該比較了解了,一些常用的 UIKit 用起來(lái)也沒(méi)什么問(wèn)題了,比如 UIViewController / UIView / UIScrollView / UIImageView / UITableView。也熟悉一些概念,如 KVO / MVC / Delegate / DataSource。

這個(gè)階段下來(lái),應(yīng)該會(huì)有:哦,iOS 開發(fā)也就這樣嘛,多翻翻文檔,熟悉 Cocoa Touch 的一些 Class,差不多也能做出一個(gè)簡(jiǎn)單的 App 了。

進(jìn)階

入門之后,接下來(lái)可以折騰的東西還會(huì)有不少。

書籍

Effective Objective-C 2.0,里面提到了 52 種提高 iOS App 質(zhì)量的途徑。涉及了 API 設(shè)計(jì)、protocols / category 的使用、寫出更模塊化的代碼等,讀下來(lái)應(yīng)該會(huì)有不少收獲。

iOS Programming: The Big Nerd Ranch Guide (4th Edition),又是一本 BNR 的書,這本書的特點(diǎn)是通過(guò) Demo 來(lái)引出知識(shí)點(diǎn),然后提一些問(wèn)題,并且會(huì)細(xì)說(shuō)解題思路??磿倪^(guò)程中,對(duì)于元學(xué)習(xí)能力的提升也會(huì)有一定幫助。

--- update ---

發(fā)現(xiàn)巧哥的 iOS開發(fā)進(jìn)階 已經(jīng)可以在京東買到了,雖然沒(méi)有細(xì)看,但巧哥出品質(zhì)量肯定有保障。

其他資源

進(jìn)入這個(gè)階段后,可以去探索更大的世界了,現(xiàn)在的資源已經(jīng)很豐富了,但還是要遵循「少而精」的原則。以下是我覺(jué)得挺不錯(cuò)的資源

iOS Dev Weekly 每周一期,內(nèi)容多為這一星期里值得關(guān)注的Github項(xiàng)目、文章、工具等。

iOS 移動(dòng)開發(fā)周報(bào) 這是唐巧大大整理的每周不錯(cuò)的 iOS 開發(fā)相關(guān)的內(nèi)容,多為中文。

RayWenderlich 很多詳細(xì)又全面的教程,不容錯(cuò)過(guò)。

iOS Dev Slack 國(guó)內(nèi)不少 iOS 開發(fā)(包括大大們)都在這里,不過(guò)現(xiàn)在好像不怎么能拿到邀請(qǐng)了。

中文 iOS/Mac 開發(fā)博客列表,打開工具訂閱吧。

還有,如果可能的話,多去分享自己學(xué)到的東西,教是最好的學(xué),我試過(guò)幾次,效果真的很不錯(cuò)。

目標(biāo)

這個(gè)階段下來(lái),對(duì)于常用的設(shè)計(jì)模式、內(nèi)存管理、Blocks 的使用、圖像操作、網(wǎng)絡(luò)請(qǐng)求和管理、多線程應(yīng)該比較熟悉了。對(duì)于 CALayer、Animation、UIScrollView、UITableView、UICollectionView、 ViewController Container 則非常熟悉,對(duì)「非常熟悉」的定義是:不打開 Xcode,腦子里就能把相應(yīng)的知識(shí)點(diǎn)復(fù)述出來(lái) 80% ,比如這個(gè)類有哪些方法,Delegate / DataSource 有哪些方法,怎么使用,如果要實(shí)現(xiàn)某個(gè)效果,應(yīng)該怎么做(好吧, UICollectionView 除外)。

高級(jí)

其實(shí)高級(jí)、進(jìn)階、入門并沒(méi)有嚴(yán)格的界限,在入門階段也可以探究高級(jí)階段的一些東西。我覺(jué)得支撐我們不斷探索和前進(jìn)的動(dòng)力不是興趣,而是永不滿足的好奇心,和對(duì)優(yōu)雅代碼的追求。

If your standards are low, you're going to stop pretty early on in the process.

BNR 的這篇 Leveling Up 已經(jīng)講得很好了,也更加細(xì)致。

書籍

iOS 7 Programming Pushing the Limits 這本書對(duì) iOS 7 的一些特性會(huì)講解地比較深入,當(dāng)然也不僅僅是 iOS 7。只嘆 iOS 更新實(shí)在太快,書籍往往跟不上,一本好書往往需要很長(zhǎng)時(shí)間來(lái)撰寫,等書可以出版了,iOS 又出新版本了。

源碼

看優(yōu)秀的源碼,可以學(xué)到很多東西,使用過(guò)程中遇到問(wèn)題也更容易解決。這些是我覺(jué)得值得細(xì)看的源碼:AFNetworking(NSOperation, HTTP, Block), SDWebImage(Image Handle, Cache, NSOperation, Block),SVPullToRefresh(UIScrollView, State Handle), JSONModel(runtime)

如果有興趣,也可以翻翻 CoreFoundation / OC runtime 的源碼。

資源

oleb

NSHipster

objc.io || objcio.cn

WWDC 視頻

工具

chisel Facebook 出品的 LLDB 助手,用于調(diào)試很方便

Reveal 每當(dāng)好奇某個(gè) App 的實(shí)現(xiàn)時(shí),都會(huì)打開它一窺究竟,用于調(diào)試自己的 App 也很方便

Aspects steipete 大大出品的一款方便使用 method swizzling 的工具,可以在運(yùn)行時(shí)動(dòng)態(tài)添加代碼到某個(gè)方法

class-dump 從 Mach-O 文件生成 OC 頭文件,有時(shí)想看看某個(gè) App 大概是如何組織的會(huì)比較方便

Hopper 可以對(duì)二進(jìn)制文件進(jìn)行反編譯,甚至可以生成偽代碼!有時(shí)想看看 UIViewController 里某個(gè)方法大概是怎么實(shí)現(xiàn)的,就可以用它。

Instruments 這個(gè)內(nèi)置的工具對(duì)于發(fā)現(xiàn) App 的各種問(wèn)題很有幫助,如內(nèi)存占用、泄露,渲染問(wèn)題等。

目標(biāo)

這個(gè)階段,對(duì)于底層的實(shí)現(xiàn)會(huì)有更深入的了解,各種 Core 開頭的 Framework 至少可以說(shuō)出個(gè)大概,工具也能熟練使用,「正經(jīng)的代碼」寫過(guò)數(shù)萬(wàn)行,可能天天在翻 Dash。如果別人讓你實(shí)現(xiàn)某個(gè)功能,能在較短的時(shí)間內(nèi)給出不錯(cuò)的實(shí)現(xiàn)方案,并且足夠細(xì)致,甚至精細(xì)到如何使用 Core Graphic 去畫某個(gè)圖像。

其他

我覺(jué)得無(wú)論學(xué)習(xí)什么,「速成」的心態(tài)是最要不得的,這只會(huì)讓自己變得浮躁,一知半解,整個(gè)過(guò)程也很難讓自己的元學(xué)習(xí)能力得到提升。慢慢來(lái),攻占一個(gè)城后,再去打下一個(gè),這時(shí)心態(tài)也會(huì)平和許多。


分享標(biāo)題:ios炫酷控件開發(fā),iOS控件
標(biāo)題來(lái)源:http://weahome.cn/article/dssghsd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部