iOS
shallow & Deep Copy
今天無聊,又快要離職了,來寫點心得,也是去面試時碰到的題目。
就是深層copy 和 淺copy
在Objective - C 中 像是NSDictionaryt, NSArray 等等 他們都可以實現COPY / MutableCopy 這個語法。
你按住Command 點進去會發現他們都實現了NSCopying 這個Protocol 。
也就是說~如果你在Objective - C中沒看到NSCopying的Protocol時,程式就會當掉
例如 [[UIColor redColor]copy];
NSDate倒數計時的小心得
關於NSDate用法,常配合NSDateFormatter使用,一般我們想到要計算現在到幾天後過期,一般直覺就是取現在時間,然後把他用TimeInterval1970時間,再去加上多少杪來算時間,再去比較時間大小。
這在一般單純需要計算時,是蠻有用的,但是如果你是要處理一些檔案,設定幾天後到期,
例如你把下載的資料或是圖片存到某一資料夾,你設第三天後過期,又不想一次把整個資料夾全砍掉,現在提供一種方法給大家參考。
iOS評分功能
一般我們評分功能在以前iOS 6之前都是給個網址,然後跳轉去讀Device內建的App Store裡
自己App裡評分的頁面,如下
|
|
現在由於iOS 6提供了很多新功能像Social的FrameWork,也在原本的SKStore裡新增了一個新功能,
在app直接經由ModelViewController彈出一個視窗,直接在應用程式中打開app store連結,可以省去離開app的困惱。
像Facebook一樣左滑效果
其實這個效果是一個國外的APP叫Path首先推出,然後Facebook引進來用。
當這個效果出來後,很多人都在問這怎麼做的,當然我這篇不是講要怎麼做。
而是我之前某個app用到了ZUUIRevealController這個Library寫的一個差不多效果的東西。
把他兩個檔引進進來,很容易的可以做到點一下像FaceBook一樣拉出左邊的選單列,
然後再點一下按鈕可以自動彈回來或是手動拉回來。
之前遇到個問題是,他Pan手勢是做在NavigationController上,所以只有拉上面才會出拖動,
想要在中間(FrontView)主頁面也要加上手勢功能的話,就要做一點處理。