您的位置:首页 > 移动开发 > Swift

自学Swift-斯坦福笔记整理(十六) Camera, Persistence, and Embed Segues

2015-10-16 22:33 393 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios