Nelson 寫些 iOS 開發的東東

Posts match “ iOS ” tag:

學習 iOS App 開發的一些心得

| Comments

事前準備

進入這個世界,有些東西是你需要事先準備好的,說穿了,就是你的設備跟知識。

一台蘋果電腦

開發蘋果的東西,沒有蘋果電腦怎麼行呢?如果你手頭拮据的話,買台 Mac Mini 就能動工了,但如果預算足夠的話,建議買台 MacBook Air 或 MacBook Pro,方便你能隨時移動,走到哪就寫到哪。至於要買 Pro 或是 Air,那就看你需求跟預算了,反正若只是要開發程式,這兩者都綽綽有餘。

熟悉 C 語言以及物件導向

開發 iOS App 用的程式語言是 Objective-C,它是 C 語言的 superset,支援所有 C 語言的功能,並且加上物件導向的能力。所以你只要熟悉 C 語言以及物件導向的觀念,就可以快速上手 Objective-C,剩下的就只是習慣 Objective-C 的語法及特性而已。

英文能力不能太差

Objective-C 有個特色就是它寫出來的程式碼「就像在閱讀一段句子、一篇文章」,你怎麼說話的,就怎麼寫程式 - 當然,指的是用英文說話。所以你英文能力不能太差,否則你將無法寫出順暢的程式碼,也無法輕易看懂別人的程式碼。這是它跟其他常見的程式語言最大的不同點,一開始可能會不太適應,但久了之後你會愛上它的。另外你會需要看大量的文件,這些幾乎都是英文,所以需要有一定的英文底子。


實用的 Objective-C 第三方元件

| Comments

開發 iOS APP 有一段時間了,期間也用了不少第三方元件,感謝有這些第三方元件,讓我提高了開發的速度與品質。趁著今天這個機會,把幾個很常用的元件記錄下來,給大家作個參考,如果你有在用什麼很棒的元件的話,也歡迎留言跟我分享:)

底下這些是我幾乎在每個 APP 都會用到的,可說是必備元件:

面試 iOS 工程師的一些題目

| Comments

前言

自己參加過不少 iOS 的工作面試機會,前一陣子敝公司在徵 iOS 工程師,也讓我有這個機會去面試求職者。這段期間下來,也累積了不少面試題目,趁這個機會列出其中幾個題目跟各位交流。

我在面試求職者的時候,不會去問這份工作用不到的問題。例如演算法,我知道它很重要,但這份工作如果不太有機會要工程師寫演算法的東西,那就沒必要問。所以我在面試 iOS 工程師的時候,幾乎不會要求對方當場寫程式,我問的問題都比較偏向基礎知識與觀念,有些有正確答案,有些則是申論題。

以下題目不一定適用於你的公司現況或工作內容,使用前請自行斟酌
以下題目不一定適用於你的公司現況或工作內容,使用前請自行斟酌
以下題目不一定適用於你的公司現況或工作內容,使用前請自行斟酌

廢話不多說,以下就列出一些我曾經問過的幾個問題。

解決 iOS 7 手勢失效的問題

| Comments

在開發 iOS 程式的時候,有很多機會會用到手勢偵測(gesture recognizer),或許有一個場景是這樣的:

  • 你有個 superview,裡頭有 subview,裡頭還有 sub-subview,還有 sub-sub-subview
  • 每個 view 都放了一或多個手勢偵測

我們會直覺的認為:既然 view 是一層層疊起來,那應該是最上層的手勢偵測失敗,才會傳遞到下一層手勢偵測,若是又失敗就繼續往下傳遞。

這在之前的 iOS 似乎都運作的好好的,但不知道為何,到了 iOS 7 竟然出錯了 - 有時候上層的手勢沒有被辨識到,反而是下層的手勢先被執行了!難道不是最上層的手勢先被執行嗎?我的程式碼哪裡寫錯了嗎?

這一定是 iOS 7 的 bug 啦!

很不幸的,當你認真翻閱蘋果文件時,你會發現它有說:

手勢辨識的順序是不保證的,並非越上層的手勢就會越早被辨識