自学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
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
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器
- IOS开发第三方语音-微信语音
- 解析iOS开发中的FirstResponder第一响应对象
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken