[心得] 開發了一個月的 iOS 小作品

作者: Linux (Windows)   2015-07-06 00:34:43
Hi (),
這次終於不是來問問題了 >"<a
從開始接觸 iOS Object-C 到現在應該一個月又多幾天了XD
從一開始的 Object-C 完全沒摸過,所以到現在才有點小進度
(心中有點開心的小悸動XD
一切都要歸功於板上大大們熱情的幫我回答問題,以及 Google 大神!
廢話不多說,先看影片!
Demo 小短片:
https://www.youtube.com/watch?v=HTgfTjmS2UI
GitHub Readme:
https://github.com/comdan66/catmap_ios
後端 GitHub:
https://github.com/comdan66/catmap_php
配合的網站:
http://catmap.ioa.tw/maps
稍微說明一下,這就只是個到處模仿的小作品,我利用了 TableView
再經由客製化的 TableViewCell 去做出類似 Instagram、Facebook 的動態訊息頁
然後再利用 ImagePickerController 去做開啟相機、讀取相簿的功能~
並且利用 CLLocationManagerDelegate 來取得座標以及位置資訊!
接著找到了 REMarkerClusterer 這資源,讓我做到跟 Instagram 地圖很像似的功能
我將它稍微改造了一下,讓他可以載入圖片XD
至於呼叫 API 原本是使用自己寫的 http 函式庫,
但是有發現 AFNetworking 也不錯用,所以就使用它了!
還有當 Cell 在 Load 圖片時,我則是使用 AsyncImageView
來讓他可以非同步的載入圖片!
開發途中,我原本是使用 Main.storyboard 拉版的,但是遇到了很多問題
例如 Cell 雖然可以對 xib(nib) 定義好 identifier 名稱,
再用 dequeueReusableCellWithIdentifier 拉出,以免重複的 create 浪費
但是因為我的 Cell 的高度以及內容不同,所以必須定義每種 id 的 identifier
而 xib 的 identifier 卻不能動態的決定..
雖然可以定義好 identifier,當 cellForRowAtIndexPath 時在 Update 其內容
但是因為圖片是非同步載入,所以後會發生另一段故事...(菸
於是,所以,最後我就放棄的使用 storyboard,所以改換成用 code 來寫 UI
如此一來,便可以讓每個 Cell 搭配好資料的 ID 成為唯一的一個物件!
這樣就可以在 cellForRowAtIndexPath 不會重複的 Create!
這是我在 TableView 上的一點點小心得XD
因為以前寫過 C語言、Java,雖然沒有寫過 Object-C,不過我的心得是..
跟 C 好像!但是多了很多有趣的東西!
也幸好寫過 Java 的 GUI 介面,讓我對於介面的東西有點基礎..
(Java GUI 印象是,一直在 set 顏色,add 東西XD
雖然有了這點的小進度,但是還有很多東西我還沒摸到 >"<
像是推播通知、iBeacon、iClude、swift.. 等,只能一步步慢慢來了!
我後端、iOS 都放在 GitHub,有興趣的可以看下!
題外話,因為我是一個後端兼前端的攻城獅XD
所以這作品的前端、後端、API 都是自己來!
不過就是在上個月毅然決然的換跑道二轉
目前這算是我的階段性的作品,但是因為對 iOS 的職場生態不是很熟悉..
想說藉由這個小作品跟版上的大大請教,
依照我的 Code 以及狀況,是否可以直接找 iOS 工作了?
以及找工作時,是否有哪裡需要注意的地方?
以上,如果有興趣討論的話,或者我的 Code 可以哪裡有更好的地方
或文章內容有不妥或需改進的地方,歡迎各位大大指教 >"<
作者: sinss (星星)   2015-07-06 01:04:00
非常棒ㄟ!
作者: Starflyx (星野)   2015-07-06 01:06:00
同是iOS新手推一個
作者: Linux (Windows)   2015-07-06 01:09:00
sinss大,感謝XDStarflyx大,一起努力吧!(握
作者: cloudliu (克勞德劉)   2015-07-06 01:11:00
完成度好高,設計也很好看!
作者: Linux (Windows)   2015-07-06 01:14:00
cloudliu大,感謝XD 幫我跟設計師講,感謝他的設計XD
作者: neotek   2015-07-06 01:15:00
靠北 嚇死我了
作者: Linux (Windows)   2015-07-06 01:17:00
neotek大,怎麼了嗎 @@?
作者: neotek   2015-07-06 01:22:00
控制馬啊
作者: Linux (Windows)   2015-07-06 01:24:00
哈哈哈哈,終於發揮效用了XD
作者: yume190   2015-07-06 01:30:00
感覺蠻不錯低,只是新文章怎麼在最下面是我眼花嗎?怎麼感覺第一行出現我的ID
作者: jamfly (jamfly)   2015-07-06 08:39:00
請問 jamfly 是? 跟我的id一樣 我的
作者: darktt (小朱)   2015-07-06 08:44:00
這個概念與現在公司的一個App非常相似,不過你可以參考看看,它叫做Buddii
作者: howdiun (Howdiun)   2015-07-06 09:31:00
only for taipei QAQ
作者: tentenlee (天天)   2015-07-06 09:37:00
用storyboard的cell動態配置高度變形 可以改用xib試試之前我搞了兩天他一直變形.. 最後改xib就正常了..
作者: async (非同步)   2015-07-06 10:58:00
請問存擋到後端的資料你架在哪裡?
作者: shinrenpan (iOS5)   2015-07-06 12:33:00
為什麼不用 QuickTime player 錄影 XD
作者: HateDebris (Monster)   2015-07-06 12:36:00
推!
作者: Linux (Windows)   2015-07-06 15:56:00
回 async 大,我存在 AWS 的 EC2 上面~我用的是 LAMP
作者: tom19830924 (Tom Hsu)   2015-07-06 15:56:00
作者: fishead1116 (DD魚)   2015-07-06 16:28:00
Run實機也可以用QuickTime Player拍啊
作者: Linux (Windows)   2015-07-06 19:36:00
回 fishead1116大,真假的?! 我等等來試看看..
作者: KKFN (John)   2015-07-06 21:10:00
我也從零開始,不過摸了快三個月了,現在連個鬼都沒做出來..
作者: asshole5566 (愛獅吼伍伍陸陸)   2015-07-06 22:00:00
請問你是?
作者: Linux (Windows)   2015-07-07 01:58:00
回 KKFN大,你可以先模仿別人家的 App 當練習開始XD
作者: sing10407 (阿U)   2015-07-07 17:56:00
厲害 完成度高 UI也很好看
作者: otaku5566 (オタク56)   2015-07-14 02:26:00
你好厲害>.< 我也摸一段時間摸不出啥鳥,有推薦的書嗎仔細想想,看書不如GOOGLE來的快...
作者: wide3751   2015-07-22 08:49:00
學習快速的方式就是找一個實際案例去實作他, 厲害!
作者: ryolue5053 (律:D)   2015-08-07 14:14:00
UI超棒的 同樣是新手但輸你一大截 推!你超厲害~

Links booklink

Contact Us: admin [ a t ] ucptt.com