直接看Demo
效果圖:
spring.gif
知識點:
#######1、獲取app版本號
iOS的版本號抽兆,一個叫做Version识补,一個叫做Build,這兩個值都可以在Xcode 中選中target辫红,點擊“Summary”后看到凭涂。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本號保持一致贴妻,Build在plist中的key是“CFBundleVersion”切油,代表build的版本號,該值每次build之后都應(yīng)該增加1名惩。這兩個值都可以在程序中通過下面的代碼獲得:
[[[NSBundle mainBundle] infoDictionary] valueForKey:@"key"]
Paste_Image.png
2澎胡、消息通知機制 NSNotificationCenter
通知中心使用注意事項,JamesYu博客講的到位娩鹉,建議大家看看.
(內(nèi)容:
1攻谁、注冊和移除成對出現(xiàn)
2、ViewController銷毀時弯予,會自動移除消息(相對第1點來說也是成立的巢株,只是不需要手動移除)
3、接收消息的線程是基于發(fā)送消息的線程熙涤,是同步的,是同步的困檩,是同步的祠挫,所以如果關(guān)于UI的操作要回到主線程
)
重點是添加觀察者的這個方法,用的頻率少:
- (id <NSObject>)addObserverForName:(nullable NSNotificationName)name object:(nullable id)obj queue:(nullable NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *note))block NS_AVAILABLE(10_6, 4_0);
不同點是悼沿,這里并不需要添加觀察者等舔,而是創(chuàng)建一個匿名的觀察者,這個匿名對象會在指定的隊列中執(zhí)行block,注意接收消息的線程不是基于發(fā)送消息的線程糟趾,是根據(jù)指定的隊列執(zhí)行的慌植,當然如果"queue"為nil的話,則是同步執(zhí)行义郑。
詳情請看:DomAndMona博客