Swift-杂谈篇(1)

来源:互联网 发布:windows优化大师 win7 编辑:程序博客网 时间:2024/06/16 00:26

一、self.navigationController?.popViewControllerAnimated(animated: Bool) -> UIViewController?

  • pop掉当前View后,并不会调用上一个View的viewDidLoad,但会调用上一个View的viewWillAppear
  • #?还不清楚参数animated的作用

二、文字适配屏幕

  • 方法1:
    • UIFont.systemFontOfSize( 字号 * DeviceWidth / 375 )

三、 NSBundle(直接继承NSObject)

[参考资料] http://www.bkjia.com/IOSjc/965120.html

  • 定义:代表app中代码和资源的文件在文件系统的位置,即定位程序使用的资源(代码、徒刑、音乐等数据)在文件系统中的位置,并可以动态的加载或卸载掉可执行代码。
    • 程序目录 <=> main bundle

**四、**NSNotificationCenter.defaultCenter()

[参考资料]http://www.cnblogs.com/pure/archive/2012/04/25/2469424.html

  • 通知响应方式
    • Delegate
    • NSNotification
  • 相应步骤:
    • NSNotificationCenter注册观察者及事件(包括感兴趣的事件和响应事件)
    • NSNotificationCenter激发事件
    • 观察者执行相应事件

五、 Cocoapods

  • cocoa:Apple提供的API
  • cocoa pods:包管理工具
  • 步骤:
    • 创建Podfile->pod install
    • Podfile:
      platform : iOS , '8.0'
      use_frameworks!
      target X do
      pod ...
      end

六、 CoreLocation

  • 步骤:import CoreLocation -> 实例CLLocationManager() -> 实现代理(didUpdateLocations和didFailWithError)
  • ⚠️:>= iOS 8需要 locationManager.requestAlwaysAuthorization(),否则无法回调
  • ⚠️:locationManager需要 startUpdatingLocation()
  • ⚠️: info.plist ->NSLocationUsageDescription/NSLocationAlwaysUsageDescription添加提示

七、 id类型( oc )

  • 万能指针 : id = NSObject * =? AnyObject

八、桥接

创建 appname-bridging-header -> #import .. -> build setting

九、 AFNetworking

  • 已桥接,需import AFNetworking( 在一些教程中显示不用import , 估计教程是iOS6 )

十、归档和解归档

[参考资料] http://www.tuicool.com/articles/BBbmAbI

补充:

        数据持久化方式:属性列表(plist)/归档(NSKeyedArchiver)/数据库(SQLiet\CoreData)
  • 定义
    - 归档:将对象序列化(#?#)(¥将对象的状态信息转化为可以存储或传输的形式的过程 17/2/2/10:26)后存储在磁盘上
    - 解归档: 反序列化

  • ⚠️归档和解归档其中任意一个对象,都要对整个文件进行归档或解档

  • ⚠️归档后的文件是加密的 -> 扩展名可任意

Over(1) 17/2/2/10:32

0 0
原创粉丝点击