自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Python-GUI编程-PyQt5

Python-GUI编程-PyQt51. GUI编程是什么?GUI 全称为: Graphical User Interface;简称GUI翻译为中文为: 图形化用户接口简单理解就是:- 使用Python开发出一个软件的界面,- 让用户可以通过软件界面与软件进行交互;所以, GUI编程不管是在实际开发工作中还是在个人工具的开发中都是必备之良品, 极为重要...

2018-10-04 21:49:00 1208

转载 Apple Pay--iOS开发

一、什么是Apple Pay?  1. 概念    Apple Pay,简单来说, 就是一种移动支付方式。通过Touch ID/ Passcode,用户可使用存储在iPhone 6, 6p等设备上的信用卡和借记卡支付证书来授权支付; 它是苹果公司在2014苹果秋季新品发布会上发布的一种基于NFC的手机支付功能,于2014年10月20日在美国正式上线,2016年2月18日凌晨5:0...

2016-02-23 19:13:00 277

转载 项目总结(五)--- 界面调试工具Reveal

  在开发中,我们也许会碰到以下需求:对于一些动态复杂的交互界面,手码去制定界面是常有的事情,然而我们在开发中想修改过一些参数后想看下实时效果,只能重新运行项目,进入到对应的页面来进行修改,是不是有点麻烦呢? 还有,作为屌丝程序猿想脱离屌丝行列,不断学习先进的东东是必不可少的,那么,如果看到别的大公司开发的优秀APP,想借鉴学习下,又该怎么入手呢?这时,Reveal会帮助我们。  1...

2015-01-28 10:54:00 125

转载 项目总结(四)--- 网络封包分析工具Charles

  Charles是Mac下一款截取网络封包的工具,主要原理就是将自己设置成为熊网络访问的代理服务器,这样的话,所有的网络请求都得通过它来完成,从而实现网络封包的拦截分析。  这款软件功能整体来说还是非常强大的,例如支持SSL代理,流量控制(可以模拟慢速网络,比较常用),支持修改和重发网络请求(这样可以方便服务器端去调试)等等非常实用的功能。具体可去官网(http://www.cha...

2015-01-27 16:43:00 191

转载 项目总结(三)--- 关于版本控制器

  很难想象,在没有版本控制器之前,我们做合作开发得多么痛苦:备份多个版本,费空间,费时间;难于恢复至以前正确版本;容易引发BUG;解决代码冲突困难;代码管理混乱;难于追溯问题代码的修改人和修改时间;项目版本发布困难。。。简直要命啊!  那目前最为常用的两种版本控制器分别是SVN和GIT,而二者的主要区别是一个是集中式(SVN),一个是分布式(GIT).恩,两者的具体使用方法我就不说...

2015-01-26 14:57:00 94

转载 项目总结(二)--- CocoaPods的简单介绍与使用

  先谈下,我们为什么要使用CocoaPods,它能为我们做什么吧。  所有开发过iOS应用的小伙伴们都知道,在整个项目中,第三方库的引用必不可少(特别感谢那些优秀第三方开源库的作者,给我们提供了多大的便捷啊)。而在我们公司开发的项目中,则引用了近20个第三方库(AFNetworking,fmdb,SDWebImage,PinYin4Objc,CocoaAsyncSocket,SSZ...

2015-01-26 14:24:00 85

转载 项目总结(一)--- 关于用到的设计模式

  历时几个月,终于在不断的修改完善中完成了公司项目。一直没时间写下项目中的经验收获。正好趁这段时间,记录下自己在项目中学习的经验,与大家分享(大牛绕过。。)。话不多说,开始。  模式一:MVC模式-- MVP、MVVM模式    MVC(Model-View-Controller)    MVP(Model-View-Presenter)    MVVM(Model-View-...

2015-01-26 11:52:00 353

转载 iOS两个框架之间的类型转换--"桥接"技术

  话不多说,直接举例说明吧.场景模拟:需要开发一个通讯录相关功能,实现访问以及添加等等.这时,需要使用的框架是Core Foundation.而此框架使用的是C语言,例如:CFArrayRef,CFStringRef等等.以下是读取联系人信息的简单代码:   1 - (void)readMessage 2 { 3 ABAddressBookRef abR =...

2014-06-05 15:33:00 93

转载 block引发的陷阱

  block在项目的开发中使用时非常频繁的,苹果官方也极力推荐使用block。其实,究其本质,block就是指向结构体的指针(可利用运行时机制查看底层生成的c代码)。然而在使用block时会存在很多陷阱(主要是内存泄露),这些都是必须要注意的。接下来举个简单的实例:假设一个类,拥有两个属性:block和name; 1 // 2 // SZBlocTest.h 3...

2014-06-04 20:29:00 129

转载 一个iOS图片选择器的DEMO(实现图片添加,宫格排列,图片长按删除,以及图片替换等功能)...

  在开发中,经常用到选择多张图片进行上传或作其他处理等等,以下DEMO满足了此功能中的大部分功能,可直接使用到项目中。主要功能如下:  1,图片九宫格排列(可自动设置)  2,图片长按抖动(仿苹果软件删除时,图标抖动效果),可进入删除状态,再次单击进入普通状态  3,图片设置最大上限,加号按钮自动隐藏  4,已选图片可单击进行重新选择  5,无需代理,直接调用对...

2014-05-22 20:50:00 498

转载 OC内存管理--zombie对象

  当我们对于内存进行手动管理的时候,会出现两种错误:一种是野指针错误,一种则为内存泄露.这两点也是我们去管理内存时最终要解决的问题.  内存泄漏是指:不在使用的对象,一直保留在内存中未被销毁,一直占有着内存,耗费内存资源直至程序结束.  野指针则是指:当一个指针指向一个对象时,此对象已经被系统回收.然后当再次通过该指针去操作对象时,则会出现野指针错误.而当系统回收该对象时,并不...

2014-05-21 22:47:00 109

转载 [小细节,大BUG]记录一些小问题引起的大BUG(长期更新....)

[小细节,大BUG] 6.问题描述:当从Plist文件加载数据,放入到tableView中展示时,有时有数据,有时又没有数据。这是为什么呢?相信很多大牛都想到了:我们一般将加载的数据,转换成模型,放入到数组中去。然后根据数组,动态的进行数据展示。结果错误就在此:对数组的引用使用了weak,所以造成了数据有时丢失的情况。那么有个细节不知道各位有没有注意到,为什么有时有,有时没有呢?这就关系...

2014-05-21 19:35:00 191

转载 利用runTime,实现以模型为主的字典转模型(注意与KVC的区别)

  将字典转化为模型,面向模型开发,是在开发中最为常用的功能。利用KVC可以将字典转换为模型,但是前提有三个约束,一个是必须保证模型的属性个数大于等于字典个数,二是属性名称与字典的key必须相同,三是对于模型中的基本数据类型无法转换。  其中第一条与第三条,是其最大的弊端。例如,如果从服务器获取的数据字典,并不想使用所有的键值对。但是在开发中还是必须得全部将对应属性列出,全部进行转换...

2014-05-21 19:33:00 123

转载 在IOS开发中,项目的目录结构如何搭建?

网上有很多关于IOS开发的学习资料.然而却很少有关于设计一个项目时,如何设计其目录结构?这对于自学IOS的程序猿们,无疑有诸多不利.接下来,我就简单的谈下真正在公司中,项目的目录结构如何搭建:以上为第一种,先按照功能模块进行划分,然后遵循MVC设计模式,分别设置model,view,control子文件夹.对于非项目模块类,以及一些自己写的一些分类,第三方框架等等,存储在othe...

2014-05-16 22:26:00 150

转载 UITableViewCell使用时注意事项

1,注意使用重用机制(有利于提高效率)2,做到通过改变模型去间接改变UI样式(做到永久改变,无论怎样拖动刷新,都不会恢复改变)3,在通过传递模型给Cell控件布局时,记得完全覆盖(嗯,不好解释,主要是在重用机制引起的,如果不完全覆盖,则在重用时,可能被另外一个cell引用,造成显示数据的错误)4,自定义cell时,添加控件尽量添加到cell的contentView内部,因为c...

2014-05-16 21:46:00 102

转载 id和NSObject *和instanceType的区别与联系

id 被成为万能指针,也就是可以指向任何对象.NSObject * 本身就是定义指向NSObject类型的指针.那么这两者有什么区别吗?这两者都是既可以作为返回值,又可以作为变量修饰.而其主要区别则在于id修饰的变量不遵循<NSObject>协议.这在实现代理模式中会体现出其区别,例如在调用代理方法时会先判断该代理是否能够响应某个方法[obj responds...

2014-05-16 21:32:00 289

转载 关于懒加载

  见名知义,所谓"懒加载"就是指"在使用它的时候才会被加载",这是在OC中最为常见模式,因为在OC中UI视图就是采用懒加载的方式,这样做的好处是不必一开始就将所有的数据加载到内存,占用内存资源.可以在使用到的时候再加载对应数据.  其实现也比较简单.例如,如果在UITableView中加载数据dataList,那么就可以重写其get方法.例如  - (NSArray *...

2014-05-16 21:11:00 81

转载 OC中NSSet去重细节

  我们都知道,NSSet在存储数据时,不允许存储相同数据?那么,这里的相同该如何理解呢?  很多人都简单的理解为按照其存储对象的内存地址进行评判.其实不然.经过个人实验证明:当类型为NSString,NSNumber..时,依然会比较其值是否相同,如果相同,依然会被去除.  其评判依据类似与isEqualTo 或者isEqualToString方法:即先比较内存是否相等,然后...

2014-05-16 21:03:00 434

转载 ARC 与非ARC 之间的转换,以及如何使一个项目中,ARC与非ARC共存

  1,非ARC 转 ARC的操作  XCode 的 Edit -- Refactor -- Convert to Object-C ARC (注意,一般在一个大项目中,很少直接使用此方法,其正确率有待考虑,毕竟手动内存管理较为复杂,如果出现错误,很难排查)  2,ARC 与 非ARC共存  需求来源:当我们在项目中使用一些古老的框架时,该框架就可能使用手动内存管理.而公司开...

2014-05-16 20:55:00 141

转载 OC实现将N个数随机排列

1 + (NSMutableArray *)randArray : (NSMutableArray *)arrayM 2 { 3 4 NSMutableArray *resultM = [[NSMutableArray alloc] initWithCapacity:arrayM.count]; 5 NSInteger count = arrayM...

2014-05-16 20:04:00 182

空空如也

空空如也

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

TA关注的人

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