xml被plist取代了  数据库被coredata取代了

一、Core Data 高级补充

1. Core Data 本质是什么?操作数据库的数据

ORM

Object Relationship Mapping

对象关系映射解决的问题是->对象 和 数据库之间的关系

数据库:  Database

专门用于存储、查询、增删改数据的地方

从类型上分:

关系型(最广泛)

字典型

关系型数据库:

用表去表达一个类型的数据,一个表里有很多条数据,每条数据的格式是一样的

CREATE TABLE Message {

boolean fromMe

INT type

VARCHAR(30) content

DATETIME time

}

SQL

结构化查询语言

用于查询

SELECT * from Message

where fromMe = true

ordered by time

SQL(字符串)

-----------> Database

字符串<-----------

数据库本身应该是和操作它的编程语言不相关

MySQL            很简单很方便 - java / php

SQLite             专门针对移动设备

SQL server      微软出的 C C++ C# VB

ORACLE           大型数据库

Sliverlight -> Flash

WPF -> Flex

-> MXML

Window

NavigationWindow

Line

2. 版本

当你修改coredata的数据模型xcodedatam

出现新版本的数据结构

TRMessage

type fromMe content

type fromMe content createdTime readTime

Core Data Migration

帮助你比较两个数据模型的区别

手机已经安装并且运行的数据模型 和

新版本程序带过来的新的数据模型

3. 删除

单实体 删除很简单

多实体 删除很变态

relationship中deleteRule属性解析:

Nullify     置空  删除群的时候 会删除掉 从群指向人的指针 那么 人指向群的引用置空

Cascade 如果删除掉文件夹那么文件夹里的所有东西也就不再了。也相当于 级联删除 在删除板块 会删除掉版块->帖子 帖子也删了

Deny     删除父版块时 如果发现有子版块 则删除不成功

4. 深化Context

Managed Object Context           跟查询相关的 栅栏

Persistent Store Coordinator

Persistent Object Store           跟存储相关的 圈

二、 音频

导入AVFoundation框架

Audio & Video Foundation

创建AVAudioPlayer 音频播放器

常用属性:

play      播放

pause    暂停

valume   音量

currentTime 当前时间

duration    歌曲总时间

TMusic

1. 点击播放能播放

滑动进度条能更改歌曲播放进度

滑动音量条能修改歌曲音量

2. 支持封面

获取封面代码:

//元数据 Metadata

NSURL * fileURL = [NSURL fileURLWithPath:path];

AVURLAsset * mp3Asset = [AVURLAssetURLAssetWithURL:fileURL

options:nil];

for (NSString * format in [mp3Asset availableMetadataFormats]){

for (AVMetadataItem * item in

[mp3Asset metadataForFormat:format]){

NSString * key = item.commonKey;

id map = item.value;

if ([key isEqualToString:@"artwork"]) {

NSData * data = [map objectForKey:@"data"];

self.imageView.image = [UIImage imageWithData:data];

} else {

NSLog(@"\n%@:%@", key, item.stringValue);

}

}

}

点击上下切 能换歌 使用currentTime

歌曲音乐的路径是从TMusic对象中的path/filename

属性中拼凑字符串获取的

播放当前歌曲结束后,能够自动跳转到下一首歌播放,这里使用到代理中的一个方法:

遵守协议 AVAudioPlayerDelegate

self.player.delegate = self;

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{

NSLog(@"播放完成");

}

如果自动跳转的时候,当前页面是播放列表页面/当前的组页面

你的小绿条(正在播放的提示)需要变换位置

3. 视频播放

导入MediaPlayer.framework框架

- (IBAction)tap:(id)sender {

NSURL *url = [[NSBundlemainBundle] URLForResource:@"product-design-animation-cn-20130712_848x480"withExtension:@"mp4"];

self.player = [[MPMoviePlayerControlleralloc] initWithContentURL:url];

self.player.view.frame = self.view.bounds;

[self.viewaddSubview:self.player.view];

[self.playerplay];

self.player.fullscreen = YES;// 全屏

// MPMoviePlayerWillExitFullscreenNotification : 退出全屏前

[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(close:) name:MPMoviePlayerWillExitFullscreenNotificationobject:self.player];

}

-(void)close:(id)sender{

[self.player.viewremoveFromSuperview];

[[NSNotificationCenterdefaultCenter] removeObserver:selfname:MPMoviePlayerWillExitFullscreenNotificationobject:self.player];

}

单词、

Migration   迁移         Mai3 Ge. Rui1 Shen.

07-IOSCore - CoreData补充、音频视频的更多相关文章

  1. Internet上的音频/视频概述

    Internet上的音频/视频概述 计算机网络最初是为传送数据信息设计的.因特网 IP 层提供的"尽最大努力交付"服务,以及每一个分组独立交付的策略,对传送数据信息也是很合适的. ...

  2. iOS 直播-获取音频(视频)数据

    iOS 直播-获取音频(视频)数据 // // ViewController.m // capture-test // // Created by caoxu on 16/6/3. // Copyri ...

  3. iOS 微信 音频 视频自动播放

    iOS 微信 音频 视频自动播放 http://www.w3ctech.com/topic/1165

  4. 【转】android如何浏览并选择图片 音频 视频

    转自:http://www.cnblogs.com/top5/archive/2012/03/06/2381986.html   这几天 在学习并开发android系统的图片浏览 音频 视频 的浏览 ...

  5. HTML5 音频视频

    HTML5 视频和音频的 DOM 参考手册 HTML5 DOM 为 <audio> 和 <video> 元素提供了方法.属性和事件. 这些方法.属性和事件允许您使用 JavaS ...

  6. 第六十六节,htnl音频视频

    htnl音频视频 学习要点:     1.音频和视频概述     2.video视频元素     3.audio音频元素 本章主要探讨HTML5中音频和视频元素,通过这两个原生的媒体元素向HTML页面 ...

  7. 前端笔记之HTML5&CSS3(上)新特性&音频视频&本地存储&自定义属性

    一.HTML5简介 HTML 5 的第一份正式草案已于2008年1月22日公布.HTML5 仍处于完善之中.然而,大部分现代浏览器已经具备了某些 HTML5 支持. 2014年10月29日,万维网联盟 ...

  8. HTML5媒体(音频/视频)

    摘要: 在HTML5出现之前,web媒体大部分通过Flash来实现.这种方式造成了文件大加载慢,影响网站性能,开发难度高,维护麻烦,不易扩展等.这就导致HTML5自己开始支持媒体功能.HTML5 DO ...

  9. 音频视频解决方案:GStreamer/ffmpeg/ffdshow/directshow/vfw

    音频视频编程相关:GStreamer/ffmpeg/directshow/vfw linux和window下几种流行的音频视频编程框架作一个总结,防止自己迷惘,免于晕头转向. 一.GStreamer ...

  10. iOS 音频视频图像合成那点事

    代码地址如下:http://www.demodashi.com/demo/13420.html 人而无信不知其可 前言 很久很久没有写点什么了,只因为最近事情太多了,这几天终于闲下来了,趁此机会,记录 ...

随机推荐

  1. hdu2964-Prime Bases

    http://acm.hdu.edu.cn/showproblem.php?pid=2964 题意,给你一个整数n,现在要你分解成 n = k1 * ( 2 * 3 * ....*x1 ) + k2 ...

  2. authorization 元素(ASP.NET 设置架构)

    authorization 元素(ASP.NET 设置架构) 其他版本 1(共 1)对本文的评价是有帮助 - 评价此主题 [本文档仅供预览,在以后的发行版中可能会发生更改.包含的空白主题用作占位符.] ...

  3. c 有关N!阶乘的相关问题----陆续补充上来

    第一个:求N!结果中末尾0的个数问题.思路是末尾0的产生   5*偶数,阶乘中偶数的个数肯定比5多,所以求出阶乘中5的个数就可以求出末尾0的个数. #include<stdio.h> in ...

  4. JavaSript模块化 && AMD CMD 详解.....

    模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理.模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式.可以想象一个巨大 ...

  5. [C/C++基础]读写文件

    1.打开.关闭文件: FILE* fp = fopen(string.c_str(), FLAG); string.c_str():需用C语言字符串形式: FLAG说明: r: 只读方式打开: w: ...

  6. c语言中双维数组与指针的那点事儿

    说起c语言的指针,估计对c语言只是一知半解的同志们可能都会很头疼,尤其它跟数组又无耻的联系到一起的时候,就更加淫荡了!!! 怎么说呢,就是有一点规定:(或准则) 数组名可以看成是指向数组头元素的指针, ...

  7. js触屏事件

    js的左右滑动触屏事件,主要有三个事件:touchstart,touchmove,touchend.这三个事件最重要的属性是 pageX和 pageY,表示X,Y坐标. touchstart在触摸开始 ...

  8. Friendship of Frog(水题)

    Friendship of Frog Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

  9. django在视图中使用模板

    在视图中使用模板   在学习了模板系统的基础之后,现在让我们使用相关知识来创建视图. 重新打开我们在前一章在 mysite.views 中创建的 current_datetime 视图. 以下是其内容 ...

  10. [计算机网络] vsftpd的安装与使用

    简单介绍: vsftpd是一个能够执行在类UNIX操作系统上的FTPserver软件,它能够执行在Linux.BSD.Solaris.HP-UX等系统上. 1 vsftpd的安装 在ubuntu系统上 ...