Swift图书展示项目笔记

1.Swift语言特点

Extensions(扩展):就是向一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)

map: 得到一个由闭包里面的返回值组成的新序列
flatMap: 与map类似的功能,但是会过滤掉返回值里面的nil值
Filter: 得到一个由闭包返回值为true的值组成的新序列

2.使用CocoaPods管理framework

iOS8后苹果开放了framework,也就是动态库功能和静态库在编译时和app代码链接并打进同一个二进制包中不同,动态库可以在运行时手动加载,这样就可以做很多事情。1.应用插件化 2.软件版本实时模块升级 3. 共享可执行文件(仅可用于App Extension)

安装CocoaPods:

gem sources -l
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l
sudo gem install -n /usr/local/bin cocoapods

# cd xxx项目

# touch Podfile

 编辑Podfile内容如下:

platform :ios,'8.0'

pod 'AFNetworking', '~> 2.6.0'
pod 'MJRefresh', '~> 2.4.11'
pod 'HysteriaPlayer', '~> 2.1.2'
pod 'TMCache', '~> 2.1.0'
pod 'FMDB', '~> 2.5'
pod 'Masonry', '~> 0.6.2'
pod 'Toast', '~> 2.4'
pod 'MBProgressHUD', '~> 0.9.1'
pod 'SDWebImage', '~> 3.7.3' # add webimage lib
pod 'BlocksKit', '~> 2.2.5'

# pod install

 打开工程记得选择xxx.xcworkspace文件

注:CocoaPods生成一个动态框架,其中包含了所有pods而非一个静态库,采用import moduleName来引用第三方库。

如果Pods后面显示 ?,此时点击你的带问号的文件在Xcode上卖弄点击source control->add selected files.就可以了。

3.项目功能简介

  • 请求并解析图书列表数据
  • 自适应单元格高度的UITableView
  • 下拉刷新和上拉加载更多
  • UISearchController搜索图书
原文地址:https://www.cnblogs.com/abelsu/p/5246859.html