1.
public abstract class Duck { FlyBehavior flyBehavior; QuackBehavior quackBehavior; public abstract void display(); public void performFly(){ flyBehavior.fly(); } public void performQuack(){ quackBehavior.quack(); } public void setFlyBehavior(FlyBehavior fb){ this.flyBehavior = fb; } public void setQuackBehavior(QuackBehavior qb){ this.quackBehavior=qb; } }
https://www.cnblogs.com/znicy/p/5522422.html
https://blog.csdn.net/phapha1996/article/details/52578571
2.
Pod::Spec.new do |s| s.name = 'VideoCast' s.version = '0.1.3' s.license = { :type => "MIT", :file => "LICENSE" } s.summary = 'A framework for broadcasting live video' s.homepage = 'https://github.com/openfresh/VideoCast-Swift' s.authors = { 'Tomohiro Matsuzawa' => 'thmatuza75@hotmail.com' } s.source = { :git => 'https://github.com/openfresh/VideoCast-Swift.git', :tag => s.version } s.ios.deployment_target = '8.0' s.source_files = [ 'Source/**/*.{swift,h,metal}', 'SRT/*.{h,cpp}', 'SRT/Includes/*.h' ] s.public_header_files = [ 'SRT/Includes/*.h', 'SRT/udt_wrapper.h', 'Source/System/ShaderDefinitions.h' ] s.vendored_libraries = 'SRT/*.a' s.libraries = 'c++' s.pod_target_xcconfig = { 'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'NO', } s.cocoapods_version = ">= 1.4.0" s.swift_version = "5.0" end
name:框架名
version:当前版本(注意,是当前版本,假如你后续更新了新版本,需要修改此处)
summary:简要描述,在pod search ZCPKit的时候会显示该信息。
description:详细描述
homepage:页面链接
license:开源协议
author:作者
source:源码git地址
platform:支持最低ios版本
source_files:源文件(可以包含.h和.m)
public_header_files:头文件(.h文件)
resources:资源文件(配置的文件都会被放到mainBundle中)
resource_bundles:资源文件(配置的文件会放到你自己指定的bundle中)
frameworks:依赖的系统框架
vendored_frameworks:依赖的非系统框架
libraries:依赖的系统库
vendored_libraries:依赖的非系统的静态库
dependency:依赖的三方库
s.dependency 'SVProgressHUD'
s.dependency 'Masonry'
s.vendored_frameworks = 'SDK/xx.framework'
s.frameworks = 'VideoToolbox'
s.libraries = 'c++.1','z.1'
https://segmentfault.com/a/1190000012269307