自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开发之谈

自己所学,分享与人

  • 博客(60)
  • 资源 (4)
  • 收藏
  • 关注

原创 iOS性能优化-内存优化(1)

1、iOS的内存管理机制Objective-C语言本身是支持垃圾回收机制的,但有平台局限性,仅限于Mac桌面系统开发中。而在iPhone和iPad等苹果移动终端设备中是不支持垃圾回收机制的。在移动设备开发中的内存管理是采用MRC(Manual Reference Counting)以及iOS5以后的ARC(Automatic Reference Counting),本质都是RC引用计数,...

2019-05-15 15:27:49 1106

原创 UIDatePicker 高度设置问题

1、iOS 中DatePicker时间选择器控件,在iOS8系统中 设置高度如果超过216,是无效的。最高不能超过216,iOS9以上系统不收影响。(应该是iOS8系统的Bug)。2、但是有时会发现 设置低于216也无效,这时需要把frame和init分开来写了UIDatePicker *datePicker = [[UIDatePicker alloc]initWithFrame:CGRectM...

2018-03-20 10:20:19 2191

原创 iOS 事件通知类型

事件通知UIControl类提供了一个标准机制,来进行事件登记和接收。这令你可以指定你的控件在发生特定事件时,通知代理类的一个方法。如UITextField要注册一个文本被改变 事件,可以使用addTarget方法:[textField addTarget:self action:@selector(textFieldDidChange:) forCon

2018-01-12 14:23:08 684

转载 iOS ReactiveCocoa 使用详解(五)

RACSignal的Subscription过程通过下面一张图理解RACSignal的调用过程:创建signaleRACSignal通过子类[RACDynamicSignal createSignal:]方法获得Signal,并将disSubscribe这个block保存在Signal中。+ (RACSignal *)createSignal:(RACDis

2018-01-05 16:24:30 513

转载 iOS开发的10个特别好的实现

1.关于关键字volatile一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。就像大家更熟悉的const一样,volatile是一个类型修饰符。它是被设计用来修饰被不同线程访问和修改的变量。如果不加入volatile,基本上会导

2018-01-05 14:59:54 304

原创 iOS ReactiveCocoa 使用详解(四)

ReactiveCocoa常见类学习框架首要之处:个人认为先要搞清楚框架中常用的类,在RAC中最核心的类RACSiganl,搞定这个类就能用ReactiveCocoa开发了。1、RACSiganl:信号类,一般表示将来有数据传递,只要有数据改变,信号内部接收到数据,就会马上发出数据。注意:信号类(RACSiganl),只是表示当数据改变时,信号内部会发出数据,它本身不具备发送信号的能力,而是交给内

2018-01-05 10:56:26 277

转载 YTKNetwork详解(三)

YTKRequest缓存ResponseData实现一、YTKRequest继承自YTKBaseRequest类,用于单独封装所有responseData缓存代码。1234567891011121314151617

2018-01-04 16:23:39 669

转载 YTKNetwork详解(二)

YTKNetwork 使用高级教程本教程将讲解 YTKNetwork 的高级功能的使用。YTKUrlFilterProtocol 接口YTKUrlFilterProtocol 接口用于实现对网络请求 URL 或参数的重写,例如可以统一为网络请求加上一些参数,或者修改一些路径。例如:在猿题库中,我们需要为每个网络请求加上客户端的版本号作为参数。所以我们实现了如下一个 YTKU

2018-01-04 16:20:30 625

转载 YTKNetwork详解(一)

YTKNetwork 使用基础教程本教程将讲解 YTKNetwork 的基本功能的使用。YTKNetwork 基本组成YTKNetwork 包括以下几个基本的类:YTKNetworkConfig 类:用于统一设置网络请求的服务器和 CDN 的地址。YTKRequest 类:所有的网络请求类需要继承于 YTKRequest 类,每一个 YTKRequest 类的子类代表一

2018-01-04 16:19:27 1710

原创 iOS 过滤后台传递 其他Json数据类型【过滤非字符串类型】

//过滤如null、整形等数据字段   重写setValuesForKeysWithDictionary 方法- (void)setValuesForKeysWithDictionary:(NSDictionaryNSString *,id> *)keyedValues;{    //setValuesForKeysWithDictionary:原理--遍历字典

2017-12-08 10:44:32 496 1

原创 UINavigationController栏透明度影响子视图的原点位置

self.navigationController.navigationBar.translucent = YES;导航控制器的导航栏的透明度为YES时, 即透明, 受导航控制器控制的视图的(0, 0)即为其子视图的原点位置, 即子视图的最高显示高度(self.view.frame.size.height)为总视图的高度(self.view.frame.size,height)

2017-12-07 16:52:22 233

原创 NSArray,NSDictionary,NSSet用法及区别

NSString * str1 =@"one";    NSString * str2 =@"two";    NSString * str3 =@"three";    -NSArray1、初始化、取值等基础操作          NSArray 是不可变数组,一旦创建完成就不能够对数组进行,添加,删除等操作        NSArra

2017-10-10 17:09:39 1417

原创 Objective-C NSValue详解

NSValue  对象是用来存储一个C或者Objective-C数据的简单容器。它可以保存任意类型的数据,比如int,float,char,当然也可以是指pointers, structures, and object ids。NSValue类的目标就是允许以上数据类型的数据结构能够被添加到集合里,例如那些需要其元素是对象的数据结构,如NSArray或者NSSet的

2017-07-26 17:11:03 573

原创 iOS CoreAnimation动画详解(一)

Core Animation是作用于CALayer上的动画,具有跨平台性,性能很高,而且动画的执行不会阻塞主线程。每一个继承与UIView的子类都有一个layer属性,可以通过这个layer来为更改相应view的形式,或者做动画。继承结构:动画类解释:CAAnimation:核心动画的基础类,不能直接使用,负责动画运行时间、速度的控制,本

2017-07-26 16:45:30 435

原创 iOS ReactiveCocoa 使用详解(三)

注意: ReactiveCocoa 3.0版本以后,使用Swift重写,最低支持iOS8.0 【3.0后ReactiveCocoaSwift 重构编写,如果是OC项目则用 'ReactiveObjC'】与国内大多数公司实际现状(一般要求最低兼容iOS7.0)不符;故此处选择兼容性版本更低的ReactiveCocoa 2.5 版本来进行对译与解读.ReactiveCocoa5.0以后将

2017-07-25 16:42:15 940

原创 iOS ReactiveCocoa 使用详解(二)

ReactiveCocoa 用法实例如下:一、常见方法  1、代替代理   rac_signalForSelector:用于替代代理    // 1.代替代理,RACSubject    // RAC方法:可以判断下某个方法有没有调用    //只要self调用Selector就会产生一个信号    // rac_signalForSelecto

2017-07-25 16:29:15 629

原创 iOS ReactiveCocoa 使用详解(一)

ReactiveCocoa API详解 (OC项目为例)一、常见类1、RACSiganl 信号类。 RACEmptySignal :空信号,用来实现 RACSignal 的 +empty 方法;RACReturnSignal :一元信号,用来实现 RACSignal 的 +return: 方法;RACDynamicSignal :动态信号,使用一个 bl

2017-07-25 15:14:03 1001

转载 iOS 10 适配 ATS

一. HTTPS其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全;而对于接收端,在SSL/TSL将接收的数据包解密之后,将数据传给HTTP协议层,就是普通的HTTP数据。HTTP和SSL/TSL都处于OSI模型的应用层。从HTTP切换到HTTPS

2017-01-24 10:24:11 1572

原创 iOS WIFI连接设备 同时3G/4G上网

目前市场点对点互联 称为热点,通常点对点连接用 蓝牙和wifi 两种方式。1、蓝牙传输速率低,失真率高。不适合传输大数据 如视频,图片等。2、wifi传输速率高,失真率低,即可作为热点ap,也可作为 终端wifi direct。适合视频和图片的传输等大数据传输。加入一个APP 的需求既要通过wifi与只能硬件相连,又要通过APP中转把相关数据提交给后天服务器。如心电

2017-01-12 12:30:38 5884

原创 ARC中delloc子类和父类的释放

//父类#import "ClassA.h"#import @interface ClassA : NSObject@end@implementation ClassA-(void)dealloc{    NSLog(@"dealloc ClassA");

2016-12-30 15:05:22 1165

原创 获取相机照片自动旋转 解决办法

项目中经常会用到 调用 相机和照片 上传图片等,通常情况下把照片加载到UIImageView 显示是正常的,但是有时候项目需求需要保留上次选择的照片,这个时候一般需要先把照片保存到本地,然后再去读取照片。这个时候发现读取保存的照片加载到UIImageView有时候会发生旋转的情况。查找过程中, 碰到了一种说法://get original photo from iO

2016-12-14 17:26:38 2780

原创 UITextField 限制输入长度

1、#pragma mark- UITextFieldDelegate- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {        if (string.length =

2016-12-14 17:03:15 453

转载 装饰者模式(Decorator Pattern) 实例

导读这篇文章中我不会使用概念性文字来说明装饰者模式,因为通常概念性的问题都很抽象,很难懂,使得读者很难明白到底为什么要使用这种设计模式,我们设计模式的诞生,肯定是前辈们在设计程序的时候遇到了某种困难,为了避免这种苦难的发生,从而设计出来的这种设计模式,所以这篇文章中我会带领大家遇见这种困难,从而使用设计模式解决这种困难,最后大家就会明白什么是设计者模式,什么时候应该使用设计者模式以及如何使

2016-12-06 15:47:04 453

原创 iOS字符串大小写转换

NSString *test           = @"test";    NSString *testUp         = [studentuppercaseString];    //大写    NSString *testUpFirst    = [studentcapitalizedString];  //开头大写,其余小写

2016-12-06 14:23:55 14205

转载 iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案

问题描述iOS系统下,移动web页面,inpu获取焦点弹出系统虚拟键盘时,偶尔会出现挡住input的情况,尽管概率不大,但是十分影响用户体验。问题重现原始页面:页面中有header、main、footer三部分,其中 header 和 footer 通过 position: fixed; 定位在浏览器顶部和底部。其中,footer 中有一个input 输入框。

2016-11-17 17:48:46 22329 2

原创 TextField内文字距左边框的内边距

默认情况下,当向textField输入文字时,文字会紧贴在textField左边框上.我们可以通过设置textField的leftView,设置一个只有宽度的leftView.这样还不够,因为默认leftView是不显示的.还需要将leftViewMode设置为UITextFieldViewModeAlways.这样就完成了.  (小技巧:通过查询UITextField的头文件可以看出left

2016-11-17 15:01:12 13800 1

原创 什么时候调用layoutSubviews

如果你想强制更新布局,不要直接调用此方法。你可以调用setNeedsLayout方法;如果你想立即数显你的views,你需要调用layoutIfNeeded方法。 layoutSubviews作用 layoutSubviews是对subviews重新布局。比如,我们想更新子视图的位置的时候,可以通过调用layoutSubviews方法,既可以实现对子视图重新布局。 layo

2016-09-14 10:35:58 1677

原创 UITableViewCell 多余不显示问题

1、默认给置成空视图   tableView.tableFooterView = [UIViewnew];2、隐藏掉所有的下划线 (前提是 不用tableviewcell的下划线 自定义下划线)   cell.selectionStyle =UITableViewCellSelectionStyleNone;

2016-07-28 17:11:32 690

原创 数组运算

NSArray *testArray = [NSArrayarrayWithObjects:@"2.0",@"2.3", @"3.0",@"4.0",@"10",nil];     NSNumber *sum1 = [testArrayvalueForKeyPath:@"@sum.floatValue"];     NSNumber *avg1 =

2016-07-14 09:26:55 227

转载 数组谓词查询法 NSPredicate

NSPredicate:谓词字面翻译是这个意思,但是我觉得谓词这个词太难以理解了NSPredicate的具体用途应该还是过滤,类似于过滤条件之类的,相当于一个主语的谓语,所以说会是谓词这个名字。(我是这么理解的)NSPredicate的创建我们看到创建谓词使用类方法predicateWithFormat: (NSString*) format,format 里的

2016-07-13 13:52:03 880

原创 CoreData 常见错误

1、NSManagedObject 对象 unrecognized selector sent to instance 0x********一般是没有在.xcdatamodeld 文件中对应 定义的NSManagedObject类名,对象是无效的。别忘了设置数据模型中的类名:2、-[NSManagedObject setValue:]: un

2016-07-07 15:03:47 740

转载 @synthesize和@dynamic区别

在声明property属性后,有2种实现选择@synthesize编译器期间,让编译器自动生成getter/setter方法。当有自定义的存或取方法时,自定义会屏蔽自动生成该方法 @dynamic告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告然后由自己实现存取方法或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSMana

2016-06-16 11:23:51 252

原创 ARC下PerformSelector may cause a leak because its selector is unknown 警告

项目中使用到了从字符串创建选择器,编译时发现警告:"performSelector may cause a leak because its selector is unknown"(因为performSelector的选择器未知可能会引起泄漏)原因在ARC模式下,运行时需要知道如何处理你正在调用的方法的返回值。这个返回值可以是任意值,如void,int

2016-06-16 10:53:01 363

原创 CoreData 基本概念介绍

//NSManagedObjectContext         被管理的数据上下文/* 操作实际内容(操作持久层) 作用:插入数据,查询数据,删除数据 */@property (readonly,strong, nonatomic)NSManagedObjectContext *managedObjectContext;

2016-06-15 15:38:54 267

转载 ios开发中类方法和实例方法self区别

Objective-C里面既有实例方法也类方法。类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method)。工厂方法的称谓明显和一般意义上的工厂方法不同,从本质上来说,类方法可以独立于对象而执行,所以在其他的语言里面类方法有的时候被称为静态方法。注意点一:类方法1,类方法可以调用类方法。

2016-06-07 14:25:41 2829

原创 iOS开发之runtime运行时机制(一)

什么是runtime(运行时机制):  Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发。    1.runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API。    2.平时编写的OC代码, 在程序运行过程中,

2016-06-07 14:07:44 2812

转载 iOS开发之遍历Model类的属性并赋值

通过Runtime来给Model类属性赋值的好处是多多的,它便于代码的后期维护,并且提高了开发效率。当你拿到解析后的字典时你不用一个一个的通过key去把字典的值赋值给相应的Model类的属性,本篇博客中会给出如何去遍历Model中属性的值,并且给出字典的Key和Model的属性名不一样的情况我们该如何负值。接下来会在上一个博客代码基础上在Model基类中添加通过Runtime来遍历Mo

2016-06-07 13:52:18 4902 1

原创 iOS 侧滑菜单封装Demo(类似QQ侧滑效果)

关于侧滑菜单的实现思路: 1、一般侧滑菜单需要三个视图,第一个是承载显示所有内容的主视图控制器,视图1第二个则是显示主界面的 滑动视图控制器      视图2第三个则是显示菜单选项的 菜单视图控制器   视图3在视图1中 添加 视图2 和 视图3  ,  而视图2 则继承封装的手势类   注意:他们都是视图控制器,如果 视图1.view add addSubvi

2016-06-06 09:10:09 1878

转载 NSData全部API解释

NSData//base64编码中的一些设置选择typedef NS_OPTIONS(NSUInteger, NSDataBase64EncodingOptions) {    NSDataBase64Encoding64CharacterLineLength = 1UL 0,    NSDataBase64Encoding76Chara

2016-05-27 17:33:24 4163

转载 iOS GCD多线程下载原理

一、任务和队列GCD中有2个核心概念(1)任务:执行什么操作(2)队列:用来存放任务 GCD的使用就2个步骤(1)定制任务(2)确定想做的事情 将任务添加到队列中,GCD会自动将队列中的任务取出,放到对应的线程中执行提示:任务的取出遵循队列的FIFO原则:先进先出,后进后出 二、执行任务1.GC

2016-05-25 10:11:46 612

iOS 11.4(15F79)真机调试包

iOS 11.4(15F79)真机包,不需要在更新xcode,直接下载后在访达前往 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 然后载入就行。

2018-07-12

iOS侧滑菜单封装Demo(类似QQ侧滑)

类似QQ侧滑菜单,侧滑手势独立封装,只需要主视图侧滑的主视图控制器 继承即可实现,有缩小放大效果,有平移效果。代码有详细注释。

2016-06-06

Mac安装Ant 到usr目录下不报错

在Mac上配置安卓环境时,配置Ant环境变量总是不成功,提示command not found,网上也有很多教程,但是几乎按照网上那些教程安装之后都不一定会成功,看了一下都没有去解决,所以这里我也正好需要安装就顺便写下,希望能帮助其他人少走弯路

2015-01-20

android-ndk-r9c-darwin-x86.tar.bz2安卓NDK Mac版

Mac上配置Android开发环境并把Cocos2d-x项目编译到Android 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。允许用户使用类似C / C++之类的原生代码语言执行部分程序。 资源文件是百度云分享链接和密码。

2015-01-15

空空如也

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

TA关注的人

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