UIImagePickerController
class func isSourceTypeAvailable(sourceType: UIImagePickerControllerSourceType) -> Bool
来源类型有 .photoLibrary .Camera .SavedPhotoAlbum
//检查类型
class func availableMediaTypesForSourceType() -> NSArray
KUTTpyeImage
KUTTypeMovie
要使用这两个类型需要导入MobileCoreServices
UIImagePickerControllerCameraDevice.Rear//后置摄像头 或者.Front //前置摄像头
//闪关灯是否可用
class func isFlashAvailableForCameraDevice(UIImagePickerControllerCameraDevice) -> Bool
Editability
var allowsEditing: Bool//是否允许剪切
//限制视频的拍摄
var videoQuality: UIIPCQualityType
.TypeMedium
.TypeHigh
.Type640*480
.TypeLow
.TypeIFrame1280*720
.TypeIFrame960*540
var videoMaximumDuration: NSTimeInterval
当用户操作完毕后代理就会调用
func imagePickerController(UIIPC,didFinishPickingMediaWithInfo info: NSDictionary)
另一个代理//用户点击了取消
func imagePickControllerDidCancel(UIIPC)
var cameraOverlayView: UIView
var showsCamerControls: Bool//为false则隐藏拍照按钮
var cameraViewTransform: CGAffineTransform
Persistence
Archiving 是一种存储一个对象的方法
SQLite
File System
//实现只需要4步
首先.需要有根路径 讲要把文件写入或者读取的路径NSURL
2.需要使用append方法将路径转换成NSURL形式
然后通过这个URL读取或者写入这个文件
最后,管理这个文件系统NSFileManager
文档中搜索NSSearchPathDirectory可以查看到目录
let fileManager = NSFileManager()
let urls: [NSURL] = fileManager.URLsForDirectory(NSSearchPathDictory,inDomain: NSUserDomainMask)
一般能用的SearchPath
NSDocumentsDirectory,NSCachesDirectory,NSDocumentationDirectory
写入通过URL的方法
func URLByAppendingPathComponent(String) -> NSURL
func URLByAppendingPathExtension(String) -> NSURL //e.g. jpg
var ifFileURL: Bool //判断是否为文件URL
写入
NSData
func writeToURL(NSURL,atomically: Bool) -> Bool
Core Data
基本上一个表就像是一个类,表的列(column)就像是实例变量.
UIManagedObjectContext//这个数据库的handel,或者说hook
UIManagedDocument它是对于一个Core Data数据库的封装 iCloud上所有设备都会使用到
func NSEntityDescription.insertNewObjectForEntityForName(String,inManagedObjectContext: UIManagedObjectContext) -> NSManagedObject
let fetchedObjects = managedObjectContext.executeFetchRequest(NSFetchRequest)//搜索
func setValue(AnObject!, forKey: String)
func valueForKey(String) -> AnyObjct!
//创建一个子类
class Phtot: NSObject{
@NSManaged var title: String
}
let photo = NSEntityDescription.insertNewObjectForEntityForName(“Photo”,inMan…)
photo.title = “My First Photo"
NSFetchedResultsController 基本上就是,你给他一个查询请求,然后给它关联一个table view,然后table view就会永远显示查询请求得到的结果哪怕增加了也会显示
Embed Segues
在storyboard里拖拽Container View