摘要:
•使用AVAudioPlayer可以播放本地音乐,具备以下特点:•1.能够预先缓存,提高播放的流畅性(prepareToPlay)2.播放起始时间(playAtTime)3.播放控制(play/pause/stop)4.循环播放次数(numberOfLoops)5.播放音量(volume)6.设置播放速度(enableRate/rate)7.音量监控(meteringEnabled/peakPowerForChannel/averagePowerForChannel)●•除上述功能外,还可以通过AVAudioPlayer的代理方法监控音乐的播放进度----------------------- 阅读全文
摘要:
单元测试单元测试除了可以帮助测试已经OK的代码之外,还可以用来调试不熟悉的知识点。在接触新的知识点时,可以无需布置复杂的界面,即可从任意节点,通过自己假设的数据开始测试。相比较需要界面的代码而言,单元测试的这一特性能够大大提高开发效率,以及对新知识的吸收和掌握能力。除了正常的测试需求外,单元测试主要可以针对复杂的数据模型开发时进行边界以及算法的调试工作,例如数据加密、解密!---------------------------------------------------------------------------------------------------------------- 阅读全文
摘要:
1. 明确目标,指定计划 在做任何事情之前,如果目标明确,就已经成功了一半!2. 工程搭建 搭建大体的系统框架 1) 通过Images.xcassets管理应用程序中的图片资源,是支持文件夹管理和拖拽的 2) 如果要发布应用程序,图标文件需要有8个 3) 苹果官方不太支持使用LaunchImage 4) 如果需要兼容iOS6.0的操作系统,不能使用Images.xcassets提供的切片功能,需要使用stretchableImageWithLeftCapWidth对图片进行拉伸处理!3. 关于多线程 所有UI相关的操作,必须在主线程队列中实现! 在程序开发过程中,千万不要满足NSLog确认流. 阅读全文
摘要:
#pragma mark - UITableView代理方法- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ // 1. 取出用户点击的cell UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; // 2. 判断cell.tag,如果==1,跳转 if (cell.tag == 1) { [selfperformSegueWithIdentifier:@"E... 阅读全文
摘要:
1.下载XMPPFramework框架:https://github.com/robbiehanson/XMPPFramework2.导入依赖框架–CocoaLumberjack:日志框架–CocoaAsyncSocket:底层网络框架•需要添加CFNetwork&Security框架依赖–KissXML:XML解析框架•需要添加libxml2.dylib框架依赖•需要指定如下编译选项:OTHER_LDFLAGS = -lxml2HEADER_SEARCH_PATHS = /usr/include/libxml2–libidn•将以下4个文件夹导入到项目–Authentication– 阅读全文
摘要:
•下载并安装:http://www.igniterealtime.org/projects/openfire/index.jsp••安装位置:/usr/local/openfire/•安装位置该文件夹的用户访问权限•数据库脚本保存在/usr/local/openfire/resources/database文件夹下•将openfire_mysql.sql第59行的字段类型修改为VARCHAR(255)Openfire数据库设置•# 进入mysql控制台•mysql -u root –p•# 创建数据库openfire•create database openfire;•# 修改数据库字符集•a 阅读全文
摘要:
XMPP定义:•XMPP:The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议)•XMPP可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议•XMPP是基于XML的协议,用于即时消息(IM)以及在线现场探测。促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同XMPP的基本结构•XMPP是一个典型的C/S架构,而不是像大多数即时通讯软件一样,使用P2P客户端到客户端的架构,也 阅读全文
摘要:
1 修改背景searchbar =[[UISearchBar alloc]initWithFrame:CGRectMake(0,KTopBarHeight, 320, KTopBarHeight)];searchbar.delegate=self;searchbar.keyboardType= UIKeyboardTypeDefault;//[[searchbar.subviews objectAtIndex:0]removeFromSuperview];UIImage *img = [[UIImage imageNamed: @"searchBar_bg.png"]str 阅读全文
摘要:
-(UITableViewCell*) tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*CellIdentifier =@"Cell"; UITableViewCell*cell = [tableViewdequeueReusableCellWithIdentifier:CellIdentifier]; if(cell ==nil) {NSArray*array = [[NSBundlemainBundle]loadNibNamed: 阅读全文