自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 医疗化验单的进展和展望

目标对一张拍照得到的医疗化验单(如血常规),识别出里面的内容。原始图片:处理过程旋转矫正即使很仔细的对准,图片仍然可能会有一些角度,需要旋转调整。旋转后的图片:找到body/header只有找到内容的body和header,才能有针对性的进行处理。body一般是一列一列数据,而header可能是检验者的信息。body:header:垂直投影分析,筛选出有内容的列每一列都是特定的数据,比如序号、化验项

2017-07-14 15:03:49 1203 1

原创 一些iOS面试题答案

什么时候使用copy关键字?在使用NSString、NSArray、NSDictionary时,经常用copy关键字。原因:这些类有对应的mutable子类,如果不用copy的话,有可能会在其它地方被修改,造成不可预知的后果;什么时候使用weak关键字,和assign有什么不同?在防止引用循环时,可以用weak来解决;和assign的不同:(1)在对象释放掉后,weak的属性是nil,而assign

2017-06-14 10:47:05 1881

原创 iOS RunLoop总结

为什么要有RunLoop我们知道,一个线程,在整个生命周期中,很可能大部分时间都是没有事情可做的,有事情需要处理的时间总是比较短的。在没有事情处理的时候,线程应该怎么办呢?我们会希望它处于“休眠”状态,就是不要占用CPU资源,而在用到它的时候,再被“唤醒”。这种机制,叫作”Event Loop”,即事件驱动型的。扯一点远的,在生活当中,我们也会喜欢这样的处理方式。比如,前段时间我不小心开车闯了一次红

2017-06-08 16:30:03 920

原创 iOS KVC/KVO总结

概述KVC和KVO是什么?简单来说,KVC(Key-Value Coding)是通过key-value对的方式,能够获取到/设置一个object的属性/参数,即使这个属性并未暴露在外。这其实属于黑魔法一类的东西,可以得到用”正常”方式实现不了的功能。当然,它的实际用处不止这些。KVO(Key-Value Observing)则是苹果提供的监听属性变化的方法。在一些UI和属性绑定的操作里,可以利用这个

2017-06-05 15:46:07 1661

原创 iOS Runtime总结

接触到runtime,就是进入了Objective-C语言的本质。在这里,Objective-C语言的特性,都可以得到解答,因为Objective-C的面向对象特性就是用Runtime方式实现的。。。

2017-06-01 16:43:16 901

原创 iOS多线程总结

总览iOS多线程开发的技术,主要包括pthread、NSThread、GCD、NSOperation;其中pthread/NSThread用的情况不多,而GCD和NSOperation用的比较频繁,所以是重点。本文详细介绍了GCD和NSOperation/NSOperationQueue等iOS的多线程解决方案。

2017-05-31 23:05:02 432

原创 iOS内存管理的问题总结

retain/assign/strong/weak/copy的区别这几个关键字在声明变量的时候经常遇到,那么它们有什么区别,应该如何选择呢?这些关键字的主要区别,在于对内存的管理。Objective-C的内存管理机制和引用类别首先,要介绍一下Objective-C的内存管理机制。Objective-C对内存的管理,以一种叫做“retain count”的方式来管理。对于一个对象,当它被new/all

2017-05-26 23:10:51 1589

原创 一行代码搞定Weex蓝牙开发

缘起之所以做这个项目,是因为公司要尝试用Weex做开发,以减少开发工作量,达到一个人搞定前端的目标。设想当中,如果顺利的话,一个人可以同时搞定iOS/Android两端的开发,尤其是UI方面的开发。传统的工作方式中,同一个UI设计需要iOS/Android两个平台实现基本一致的开发,非常浪费。在此过程中,因为业务需要,要能够连接蓝牙设备,而Weex本身(基本上)只提供UI层的封装。为了也能够达到一次

2017-05-24 09:29:17 7529 3

原创 <Learning Core Audio>翻译:关于作者

关于作者Chris Adamson是一位独立作家,编辑和开发者,居住在密歇根大急流城。他现在专注于iOS和Mac开发,他与别人合著了iOS SDK Development(Programmers, 2012)。他还写了QuickTime for Java:A Developer’s Notebook(O’Reilly Media,2005),与别人合著了...

2016-12-30 09:45:23 1168

原创 问题解决:AVAudioSession的中断处理方法失效

背景知识:在iOS中,app录音/播放时,有可能会出现被系统中断的情况,比如手机来电话,闹钟,日历事件等等。这时候,系统会中断当前的音频操作,并向app发送一个通知;如果用户点了“忽略”,或者挂断电话等,系统会将声音权限还给app,并再次向app发送通知。

2015-12-16 21:56:32 7153

原创 iOS8/9的Notification新特性

在iOS8和iOS9下,Notification增加了一些新的特性,使之更加强大: iOS8增加了下拉时的Action按钮,像微信一样; iOS9增加了像信息一样的可以下拉直接输入;

2015-09-11 17:56:26 3212 4

原创 iOS Today Extension/widget编程小记

本文高屋建瓴地从App Extensions讲解到Today Extension;介绍了如何从头开始创建一个Today Extension;探讨了一些经常碰到的问题;点出了Today Extension要注意的地方及其限制;最后展望了一些需要深入学习的点。

2015-08-31 22:48:13 4441 3

原创 .xcodeproj目录中各文件作用及SVN/Git同步

iOS项目多人开发时同步项目,经常会遇到.xcodeproj中文件的改动,这些文件都有什么用?要不要提交到版本库中?本文进行了一番梳理。

2015-08-16 10:58:16 10884 1

原创 用UIImageView自带方法实现简单动画

UIImageView有一组关于动画的方法/参数,可以实现简单的动画。 然而这种方法是个鸡肋,占资源,效果不咋地,无法实现细腻的、动态的动画;而且,还有更好的替代方式,比如直接播放gif动画,简单方便。 对于细腻复杂的动画,就需要调用Core Animation了。

2015-08-10 22:22:47 4940

原创 Objective-C中.h文件、.m文件中@interface、@synthesize及其它

1. 为什么.h文件和.m文件里各有1个`@interface`?它们分别有什么用?2. .h中,value1为什么要定义2遍?3. `@synthesize`有什么用?。。。

2015-07-29 23:14:00 14130 3

原创 使用Reveal来查看别人的APP界面+白苹果不刷机解决方案

一个很方便的用Reveal查看别人APP界面的方法,而且在此过程中,偶然发现万能的白苹果不刷机解决方案,妈妈再也不用担心我的iPhone被乱搞成白苹果了!

2015-07-23 22:05:42 2871

原创 iOS设备上回声消除的例子

Apple在Core Audio中提供了回声消除的接口,我写了一个测试APP,测试了其效果。链接:<https://github.com/lixing123/iOSEchoCancellation>

2015-06-02 11:03:14 22428 11

原创 iOS音频格式转换工具库:ExtAudioConverter

一个音频格式转换的开源库,包含了iOS/OS X支持的所有音频格式,另外也支持mp3格式。

2015-05-09 15:23:49 6464 18

原创 我的Coursera历程

今天刚刚有一门Coursera课程得到了证书,那么就聊聊这个自我学习,自我提升的话题:MOOC。从去年10月份到现在,半年的时间里,我尝试了若干门课程,其中真正上完课,得到证书的,总共有2门:Stanford University的Algorithms: Design and Analysis(1);瑞士,洛桑联邦理工学院的Digital Signal Processing。先Show off一下:

2015-04-23 22:14:07 4707 2

原创 iOS录音和播放的那些事儿:几个奇葩的需求

在插入带麦克风的耳机时,要求能够从耳机麦克风录音,然后同步的从手机内置扬声器播放。

2015-01-26 18:12:29 9164 6

原创 比Wireshark更轻量、更方便的抓包软件:Charles

Wireshark虽然功能很强大,但学习成本很高,操作很麻烦。Charles是一个非常轻量的软件,简单方便。Request、Response都很清晰,方便查看。

2015-01-16 14:38:31 36853 3

原创 删除C语言程序中所有的注释语句,代码实现

学习《C程序设计语言》到第1章最后,有一道题目:编写一个删除C语言程序中所有的注释语句。要正确处理带引号的字符串与字符常量。在C语言中,注释不允许嵌套。有一种解法非常好:状态机。在各种状态之间跳转,逻辑清晰,不易出错,出错了也容易调试。

2015-01-14 14:06:40 11643 4

原创 iOS代码修改音量

虽然苹果将几乎所有的代码实现控制音量的方法都堵死了,但通过一些私有的方法还是可以修改的。。。

2015-01-06 18:09:04 5931 2

原创 多线程导致的iOS闪退分析

前段时间做了一个APP,在测试的时候遇到了很奇怪的闪退情况。这个APP是有关声音处理的:设备一边录音,一边对声音进行处理。所以需要2个线程,一个线程将录音保存下来,另一个处理保存下来的声音。测试的时候,会在1~10min之内,不定时、无预兆的出现闪退的情况,报的错也各不一样,有的是1)”NSGenericException ‘Collection was mutated while

2014-12-25 18:04:00 9573

原创 算法优化:从1天到1s

最近参加了Coursera的课程,Stanford大学的《算法:设计与分析》。这是一门非常值得学习的课程。在老师布置的作业中,有这样一道题目:The goal of this problem is to implement a variant of the 2-SUM algorithm .The file contains 1 million integers, both pos

2014-12-04 22:34:35 1822

原创 为什么Dijkstra算法不适用边长为负数的情况

Dijkstra算法,是有向/无向加权图(就是每条边都有长度)中,计算两个点之间最短距离的有效方法,在使用堆排序的情况下,它的时间复杂度为O(Nlog(N+M)),(这里N代表节点数,M代表边数)很接近线性了,还是非常好的。不过,Dijkstra算法有一个限制,就是它只适用于边长不为负的图。如果一张图里有负数长的边长,那么Dijkstra算法就不适用了。这时候就需要另外的算法了。为什么不适用呢?其实很容易就可以找到反例。

2014-11-20 22:46:42 14693 8

原创 真机调试问题解决:Code Sign error: A valid provisioning profile matching the application's Identifier

最近碰到一个非常诡异的问题。在真机调试的时候,碰到了:Code Sign error: A valid provisioning pr

2013-05-25 19:38:44 11337 3

原创 iOS中使用GCD/多线程:在下载的过程中显示动画

GCD(Grand Central Dispatch)是一个大的主题。它可以提高代码的执行效率与多核的利用率。是苹果的开源项目,如果你是一个追求软件效率的开发人员,这门技术你一定要有所研究。今天要介绍的是如何从网上下载大量的文件, 方法有许多,传通的就是用多线程,面iOS中有很好用的Operator Queeu, 或者用传通的NStrhead, pthread. 今天我不介绍这些方法,而是

2013-05-22 14:44:01 3181

原创 快速解决PCH file built from a different branch ((clang-425.0.27)) than the compiler ((clang-425.0.28))

最近升级了Xcode之外,重新编译运行项目的时候,出现一个问题:PCH file built from a different branch ((cla

2013-05-22 10:32:49 5420

原创 【新手教程】如何向App Store提交应用

当你克服重重困难终于开发出了自己的App,下一步就是向App Store提交应用了,这时应该如何操作呢?我的App真的准备好提交了?我敢肯定这些问题将会浮现在你的脑海。基于这篇教程,我将告诉你一个完整的提交过程。

2013-05-21 20:37:00 2345

原创 收藏的一系列教程帖子,很适合有一定基础,想要进阶的同学

以前收藏的帖子,对技术讲的很细致,是某个大牛翻译的苹果官方技术指南,我每一篇都看了好几遍,非常有收获!多线程编程指南:http://www.cocoachina.com

2013-05-21 19:43:12 1748 2

原创 提交应用遇到"Missing Screenshot"问题的解决方法

这两天在提交应用时遇到各种各样的问题,其中一个比较纠结的问题是在万事俱备,二进制文件已经Archive、Validate和Distribute之后,iTunes Connect上却显示"Missing Screenshot"。奇怪,我已经提交了5张"iPhone and iPod touch Screenshots"了啊,怎么回事?到Google上搜索,发现在iPhone 5出来之后,苹果给开发者

2012-10-31 11:08:27 5273

原创 如何学习一门新技术

现在大学里面的一门新课的学习,对于如何引导学生对此门课程产生兴趣,简直毫无作为。这也是大学里翘课频率如此之高的一个重要原因。总体上来讲,还是处于“填鸭式”上课方法。我在上学时(其实现在也是在上,只是没有课让我上了),对那些让我毫无兴趣的课,可以说是深恶痛绝。在大学上课的流程是这样的:开学,上1~2次课;中间翘一大片课;快结束时,再听1~2次课,划重点,背,考试,over!这样的课,能学到啥

2012-10-20 14:29:40 4105 4

原创 navigationbar增加背景图片,适配4.3和5.0

在5.0上有一个很方便的函数,但是在4.3上不能用。下面这段代码对于4.3和5.0版本都可以。先重写UINavigationBar的drawRect函数:@implementation UINavigationBar (CustomImage)- (void)drawRect:(CGRect)rect {UIImage *image = [UIImage ima

2012-10-18 14:25:35 1583

原创 PHP+MySQL中文乱码问题

虽然以前在做iOS开发的时候就碰到类似的问题了,但是字符编码问题,就是很有研究的人,也不敢保证自己一定能搞定。这两天在学习PHP,就不幸遇到这个问题。经过一段痛苦的旅程,最终成功显示中文。主要步骤有三步:MySQL:将所有字段都设置成utf8_unicode_ciHTML:在head里设置:PHP里,在数据库连接之后:mysql_quer

2012-07-29 17:21:03 1137

原创 通过WireShark抓取iOS联网数据实例分析

今天闲的没事干,想试着分析iOS应用的网络数据传输方式。以前就曾经想过这么做,但是由于无法得到iPhone的联网数据,一直没成功。今天尝试了一下,没想到居然比较顺利。

2012-07-24 23:22:36 31678

原创 UIApplication详解

以前刚学iPhone开发时,觉得UIApplication这个东西特NB,特神秘,比如它居然能打开一个URL,而且还是用一个很神秘的方法得到实例:[UIApplication sharedApplication]它对我的神秘感一直保持到今天下午。今天下午负责UI设计的同事在设计,我没有素材,比较清闲,于是发个狠,专门看了一下UIApplication这个类。果然是难者不会,会者不难,看完之后,

2012-07-23 22:02:37 9244 1

原创 KVC与KVO的用处

在刚刚学习KVC时,我感觉这个东西非常奇怪:它完全可以用"."操作符替代,而且"."更加简单方便。为什么还会有这样一个东西呢?说起来,KVC的作用还真不大,

2012-07-15 00:29:47 3738

原创 objective-c中interface与protocol的作用

以前对objective-c中的interface,即头文件的作用一直不太清楚。最近看了一些文章,再加上自己的试验,对头文件的作用稍有了解。在我看来,头文件的作用是,定义对外的接口。然而,它的作用也只有这个而已。头文件无法保证对外接口一定会被实现。根据.h文件是否定义方法、.m文件是否实现方法,可以分为三类:第一类是.h文件定义方法,.m文件也实现了方法,这是最common的做法,

2012-07-12 00:04:05 5576

原创 Block的优点

关于Block的语法我就不讲了,请看这篇文章。刚开始学习block的时候,觉得比较奇怪,block到底有什么用?它和函数有什么区别?经过一番学习,主要是这篇文章,发现block有以下几个地方最有用:1.简化的回调过程,不用再实现并调用某个函数,如Notification的方法,以前是这么写:[[NSNotificationCenter defaultCenter] ad

2012-07-01 22:39:16 4438

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除