直接看Demo
效果图:
知识点:
#######1、获取app版本号
iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。这两个值都可以在程序中通过下面的代码获得:
[[[NSBundle mainBundle] infoDictionary] valueForKey:@"key"]
2、消息通知机制 NSNotificationCenter
通知中心使用注意事项,JamesYu博客讲的到位,建议大家看看.
(内容:
1、注册和移除成对出现
2、ViewController销毁时,会自动移除消息(相对第1点来说也是成立的,只是不需要手动移除)
3、接收消息的线程是基于发送消息的线程,是同步的,是同步的,是同步的,所以如果关于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);
不同点是,这里并不需要添加观察者,而是创建一个匿名的观察者,这个匿名对象会在指定的队列中执行block,注意接收消息的线程不是基于发送消息的线程,是根据指定的队列执行的,当然如果"queue"为nil的话,则是同步执行。
详情请看:DomAndMona博客