程序开发
乾乾君子
这个作者很懒,什么都没留下…
展开
-
ios 实现断点续传 一 nsurlconnection
NSUrlConnection实现断点续传的关键是自定义http request的头部的range域属性。 Range头域 Range头域可以请求实体的一个或者多个子范围。例如, 表示头500个字节:bytes=0-499 表示第二个500字节:bytes=500-999 表示最后500个字节:bytes=-500 表示500字节以后的范围:bytes=5原创 2012-02-23 11:16:11 · 17285 阅读 · 1 评论 -
自定义导航栏背景图片和颜色
首先准备导航栏背景图片,大小 320x44, @2x文件大小640x88,iOS5以后更改背景图片较简单 UINavigationBar *navBar = self.navigationController.navigationBar; #define kSCNavBarImageTag 10 if ([navBar respondsToSelector原创 2012-03-31 15:32:55 · 29317 阅读 · 0 评论 -
在Linux/Windows/Mac上刷新DNS缓存的方法
刷新dns缓存让你可以得到新的域名解析。当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试。刷新dns缓存非常简单,任何时候都以进行。但是不同的系统,Windows、Mac OS和Linux上的方法是不一样的。在不同的系统中刷新DNS缓存的方法如下。如果是 Windows ( XP, ME, 2000, 98)系统:开始——>运行——>输入 cmd 并回车在打开的命令行转载 2012-02-23 11:12:48 · 25312 阅读 · 0 评论 -
core data 的NSDate 属性类型和sqlite3的timestamp字段类型之间的相互转换
core data直接支持NSDate类型的属性,在iOS里确实使用很方便。有时候我们需要在其他程序里直接访问sqlite文件,这一属性在底层的sqlite文件里是映射为Timestamp字段的。但是直接select出来这个字段并转换成Date类型,就会发现转换回来的日期出错了。举个列子,用python处理Coredata的sqlite,Coredata中存入的是2011-10-6,直接从Sqli原创 2012-03-06 13:03:48 · 8269 阅读 · 0 评论 -
MAC OS X的文件关联和打开程序
在Windows那样更改一种文件格式的打开方式,通常是右键 - 打开方式 - 选择打开程序 - 应用到所有。 在MAC上也可以采用类似的方式, 右键 - 打开方式 - 选择程序 - 总是以该方式打开, 但是这种方法只是修改了该文件的打开方式,而没有修改所有该类型的文件。 为了统一修改该类型的所有文件的打开方式,需要在某个文件上 右键 - 显示简介 - 打开方式原创 2012-03-18 16:18:38 · 10245 阅读 · 2 评论 -
iOS线程开发之--BLOCK & GCD(Grand Central Dispatch)
GCD是apple在iOS 4.0之后引入的新多线程方法,它是基于C语言的扩展,GCD是在内核级提供多线程管理的,效率较高。GCD的关键之一是队列,系统提供了一些预定义的队列,其中包括主线程队列(该队列保证在主线程上运行),你也可以定义自己的队列。GCD队列是严格的FIFO方式工作的,代码的开始顺序与加入队列的顺序相同。(在多核心系统上,代码块的完成顺序不一定是FIFO的。但是在目前单原创 2011-09-30 15:51:56 · 2911 阅读 · 0 评论 -
Mac OS X Lion 的 Sandbox 技术初探
Mac OS X Lion 的 Sandbox 是一项了不起的创新。当然,我不反对有人批评目前的 entitlement 可选项不够完备,还需要扩展。在假设今后可能加入新选项的前提下,现有的概念和实现已是巨大的进步。操作系统局限于 discretionary access control 和 mandatory access control 两种安全模型已经太久了!后者概念复杂,除了涉转载 2012-02-24 08:56:56 · 4943 阅读 · 0 评论 -
Swift - 时间控制器NSTimer(每隔一定时间执行某个函数)
时间控制器NSTimer可以实现定时器功能,即每隔一定时间执行具体函数,可以重复也可以只执行一次。class DownloadManagerTableTableViewController: UITableViewController { var timer : NSTimer? override func viewDidLoad() { s原创 2016-03-05 10:56:11 · 5030 阅读 · 0 评论 -
CocoaPods pod install/pod update更新慢的问题
在使用cocoapods 进行update 或者 install的时候,原因在于每次当执行命令时会去获取更新的pod specs,每次速度都不是很理想,参考网络上的办法,给出2个途径,可以结合使用方法一:不检查CocoaPods specs更新以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:pod install --ver原创 2016-03-31 20:40:43 · 5203 阅读 · 1 评论 -
Mac上的抓包工具Charles
Mac上抓包神器,就是Charles,它是Java开发的,所以跨平台,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK,才能运行,同时还有一个问题就是他是收费的。一、下载先到它的官网http://www.charlesproxy.com/可下载到最新版本,目前版本是3.11.4,这个下载有点慢,我已经将它放到网盘中了:链接: https://pan.baidu.原创 2016-04-29 09:23:26 · 2093 阅读 · 0 评论 -
vscode使用Anaconda调试python报错CommandNotFoundError: Your shell has not been properly configured to use
vscode中使用anaconda作为python解释器环境,启动调试时会在powershell终端中报错CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate’.。。。解决办法:在vscode设置里搜索conda,配置python:conda path这个选项为本机安...原创 2019-08-19 09:44:59 · 7046 阅读 · 3 评论 -
UITableView 美化- 增加一个好看的背景
给UITableView增加一个好看的背景能为应用程序增色不少,并能促进app的销售,但是随便增加一个背景图片会史你的app更加丑陋。//This method produces odd artifacts in the background image:ATableViewController *yourTableViewController = [[ATableViewControl原创 2012-02-26 11:23:17 · 4048 阅读 · 0 评论 -
iOS Code Signing: 解惑
原文链接地址:http://www.raywenderlich.com/2915/ios-code-signing-under-the-hood 注:本文由翻译团队成员skingTree翻译。教程截图: 下面是一篇有澳洲墨尔本的一名全职iOS开发者提供的文章。他在论坛上是一个很摩登的年轻人 – Adam Eberbach。 ·Bundle identifier翻译 2012-03-04 19:00:58 · 2669 阅读 · 1 评论 -
自定义UITableViewCell的accessoryView 判断哪个Button按下
UITableview的开发中经常要自定义Cell右侧的AccessoryView,把他换成带图片的按钮,并在用户Tap时判断出是哪个自定义按钮被按下了。创建自定义按钮,并设为AccessoryViewif (cell == nil) { cell = [[UITableView alloc] initWithStyle:UITableViewCellStyleDe原创 2012-03-03 10:15:55 · 14272 阅读 · 1 评论 -
解决NSXmlParser无法解析非utf-8编码的XML问题的方法
ios开发中经常会用到解析XML,但是iOS提供的NSXmlParser只能解析encoding是utf-8的XML文件。即xml文件开头必须是在中文网页中,经常会碰到gb2312或GBK编码的XML文件,如当iphone开发中的NSXMLParser碰到非utf-8编码时,会直接触发parser:parseErrorOccurred:,返回的错误编码是31,之后直接退出。原创 2011-09-30 15:06:42 · 4490 阅读 · 0 评论 -
iphone检测耳机插入/拔出
开发过程中录音和播放这块碰到了一些问题,麻烦的主要有三个:检测是否有声音输入设备当有多个声音输出设备时,指定声音输出设备检测耳机的插入和拔出第一个问题,对于iTouch和iPad等本身不带麦克风的设备,需要检查是否插入了带录音功能的耳机;对于iphone,由于其本身已近自带麦克风,所以相对容易。第二个问题,当在本身带有外放的设备上插入耳机等输出设备时,就出现了多个输出设原创 2012-02-23 17:50:17 · 19799 阅读 · 5 评论 -
iOS 对象持久化之- 归档 archiving
在理解归档之前,首先要理解对象图(object graph)的概念,对象图就是对象之间经由指针等关系链接在一起形成的对象之间的关系图。我们需要将这个对象体系或其部分对象持久化保存到文件中,在以后某时刻从文件中恢复出来之前的对象体系,这就是持久化要达成的目标。cocoa中已经实现了两种用于持久化的文件类型,就是nib文件和property list文件。这两种文件对于要持久化到文件中的对象类原创 2012-02-24 11:37:28 · 2098 阅读 · 0 评论 -
使用Objective-C HPPLE库解析HTML和XML
使用Objective-C解析HTML或者XML,系统自带有两种方式一个是通过libxml,一个是通过NSXMLParser。 libxml性能较好,且可以结合urlconnection实现边下载边解析,在要求快速 、分批响应UI到情况下较为有用,NSXMLParser基本没什么优势,不如使用第三方工具。hpple,它是一个轻量级的包装框架,可以很好的解决这个问题,尤其是它支持HTML的解析,原创 2012-02-24 17:31:07 · 16460 阅读 · 1 评论 -
iOS 手势识别 - gestureRecognizer
iOS设备的手势操作,在app中是个必须且实用的功能,为app加分不少。向左向右轻划 UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self原创 2012-02-26 20:42:06 · 8295 阅读 · 1 评论 -
iOS AvPlayer AvAudioPlayer音频的后台播放问题
iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了。如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,AvPlayer播放的话,要实现完美的后台音频播放,依据app的功能需要,可能需要实现几个关键的功能。首先,播放音频之前先要设置AVAudioSession模式,通常只用来播放的App可以设为AVAu原创 2012-02-23 14:52:49 · 30101 阅读 · 3 评论 -
UITableViewCell - UITableView中cell的边框和背景
UITableView是iOS开发中最常用的元素,在平常用的iPhone App中大部分都用到了UITableView,所以你应该知道她的强大了。需求很简单,就是在一个UITableView里面实现一个不一样的UITableViewCell,如下图里的“切换账号”按钮正常情况下grouped样式(UITableViewStyleGrouped)UITableViewCell都是有边原创 2012-02-26 10:17:09 · 18290 阅读 · 2 评论 -
自定义导航栏按钮UIBarButtonItem 文字或图片
在4.0里定义导航条按钮通常是生成普通按钮,再用它生成导航条专用按钮。 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setBackgroundImage:[UIImage imageNamed:@"button_main.png"]原创 2012-02-27 21:29:36 · 63899 阅读 · 1 评论 -
SQLITE入门
菜鸟入门1。从www.sqlite.org下载SQLite 3.3.4的版本 为了方便,我把它解压了,就一个SQLite3.exe,放入Windows目录下。 Cmd 进入命令行 1) 创建数据库文件: >SQLite3 d:/test.db 回车 就生成了一个test.db在d盘。 这样同时也SQLite3挂上了这个test.db转载 2012-02-28 14:12:51 · 3377 阅读 · 0 评论 -
coredata lightweight migration 轻量级自动迁移
coredata与tableview配合十分默契,而开发初期经常需要变动coredata的数据模型结构,不同的模型必须要进行迁移,否则App就crash了。迁移就是要在老版本和新版本的数据库模型之间建立映射(mapping),这是当数据库模型变动较“大”时必须使用的方法,而当变动较小时,Coredata能够自动推导模型变化而进行迁移,这是所谓轻量级迁移lightweight migration原创 2012-02-28 17:15:49 · 6107 阅读 · 0 评论 -
springboot2 集成shiro-spring-boot-web-starter
shiro是web开发中常用的使用安全管理框架,通过shiro-spring-boot-web-starter方式集成Shiro到springboot2可以简化配置。1.引包maven方式在项目pom.xml中引入shiro starter包的坐标,这里引用了1.4.1版本 <dependency> <groupId>org.ap...原创 2019-09-02 15:53:54 · 22293 阅读 · 6 评论