自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (2)
  • 收藏
  • 关注

原创 centos记录

一些记录

2022-04-20 22:09:13 2317

原创 Runtime

Runtime交换系统的方法SEL、IMP、ISA交换系统的方法在项目中经常会遇到统计用户使用习惯,例如用户进入某个页面的频次,如果在每个页面增加统计的方法那么会增加很多的重复代码,可以使用运行时的特性在分类中交换方法达到目的,交换系统的方法并且不需要重新导入头文件就可以达到,但是如果两个分类分别执行相同的操作去交换同一个方法那么会交换无效,方法名不同只会执行后面的。在不改变原有方法的效果上...

2020-03-25 17:17:09 236

原创 review

Block_NSConcreteGlobalBlock,全局block存放在静态区,block没有使用外部变量情况。_NSConcreteStackBlock,在调用的了外部变量或并且未被copy,使用完后自动销毁_NSConcreteMallocBlock,对stack block进行copy后变成堆,需要手动释放 void(^globalBlock)(void) = ^(){ ...

2020-03-25 09:26:37 238

原创 制作MAC OS Framework记录

在iOS上已经制作好的SDK移植到mac上遇到的问题:1.删除iOS上存在的UIKit类,mac os 中不支持UIKit类2.在Mac os 项目中添加Target–>Cocoa Framework,将iOS中famework中的代码移到现在target中.3.找不到第三库的,需要在user header search path 中添加$(SRCROOT)/第三方存放路径4.当移除...

2019-07-23 17:50:53 1217

原创 iOS 制作Framework中包含第三方库

记录下在制作Framework中遇到的问题:1.如果framework中包含分类,需要在build setting中搜索other link flag 添加‘-ObjC’.要不然会报错。2.对于第三库的处理,为了防止第三库与外部产生冲突在Framework中加入库的时候不要勾选copy item if need.3.项目中引入第三库报找不到文件提示,需要在User search path 中...

2019-07-18 12:45:35 3351 1

原创 iOS 二维码扫描优化记录

1.原生从相册中识别二维码图片成功率低感谢SGQRCode中提到压缩图片至手机屏幕大小再进行扫描,需要更多的参考在git中搜索SGQRCodeExample从图片中获取二维码的方法 CIDetector*detector = [CIDetector detectorOfType:CIDetectorTypeQRCode context:nil options:@{ CIDet...

2018-07-27 19:25:23 2853

原创 ios单元测试项目配置中遇到的问题及解决方案

困扰一天的问题,烦死,原来只要重启下手机就解决了

2018-07-24 17:05:39 1505

原创 MMDrawerController 手势与系统导航返回手势冲突

push后发现左滑返回偶尔返回到主界面,偶尔又返回到左侧菜单页,当所有的controller都继承自基类处理方法在 viewWillAppear和dissAppear中进行打开和关闭操作(判断类型).if ([self isKindOfClass:NSClassFromString(@"xxx")] ) { //判断需要打开滑动菜单手势的类 [self openMMD...

2018-06-08 11:58:08 751

原创 Python笔记

python语法 搞了前端太久了,总想去改变下,最近开始接触学习python,做一个学习过程的记录当作一次回忆,路漫漫还有很多的地方需要时间去学习去理解,感觉python和其它的语言相比有时有点怪异,有时会感觉一脸懵逼,慢慢消化吧 与一般语言不同的,python严格按照代码的缩进进行执行. “=”刚开始以为python中的“=”与其他的等号一样使用,其实这个区别还蛮大既然...

2018-05-03 11:00:36 317

原创 iOS网络字节序列转换

iOS网络字节序列转换最近项目使用字节流的方式传输数据,数据包中包含数据的大小等相关的一些基础信息需要将字节转换成网络字节流的方式进行传输,因为之前一直使用的是Http或者用分隔符的方式去解决socket传输中引起的粘包问题,第一次接触网络字节流的概念.后来查询才知道原来对于不同的系统和不同的cpu中转换相同的数据可能大端和小端在字节的排序是不一致的,为了保持统一,出来了一个网络字节流的标准。 在

2017-06-29 16:24:42 1455

原创 ProtocolBuffer在Swift中实践记录

前几天搞了object-c中使用ProtocolBuffer,今天尝试在swift中也使用该协议进行传输协议。折腾了一上午终于搞定了,记录下在部署中所遇到的坑和自己实现的步骤。1、安装protoc 命令和objectc安装方式是一样的,不知道可以看上一篇文章.2、确保protoc命令可以生成对应的文件后,在部署过程中发现生成swift文件的时候总是报错“--swift_out: pro

2017-05-18 17:08:49 2479 2

原创 iOS集成谷歌ProtoBuff

项目中需要使用scoket传输数据流采用谷歌的ProtoBuff协议进行传输.我使用的安装方式是借鉴点击打开链接博主提供的方法.安装完成之后在/usr/local/bin中存在protoc执行文件该执行文件用来生成.h/.m文件安装完之后github中下载最新的protobuff object-c代码.下下来之后有点坑的地方是,代码中得文件很散乱,demo中得一些头部文件还引用

2017-05-16 15:51:23 722

原创 ios 使用自带的UIViewController实现qq加号下拉菜单的功能

创建PopViewControlller在tableview中创建一个tableview用于显示菜单//重置控制器的大小-(CGSize)preferredContentSize{ if (self.popoverPresentationController != nil) { CGSize tempSize ; tempSize.height

2017-05-11 14:50:12 1238

原创 iOS 开发者账号添加新的管理成员用于上传APP

由于之前申请app账号的同事离职了,每次用之前的账号上传app如果出现错误不能接收到错误邮件,重新添加一个管理员用以上传app用.1.申请一个APPID 账号2.登录开发者账号,在people中添加新的成员。3.发送邮件给新增的用户邮箱。4.接收到确认邮件,使用申请的账号登录。5.接收到appid申请的加入团队的请求。6.回到iTunes connect 用户职能中

2017-03-21 16:31:29 8257 2

原创 计算时间

NSDate *date = [NSDate date]; NSString *title = @""; NSCalendar *calendar = [NSCalendar currentCalendar];//日历 NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalen

2017-03-15 14:11:35 423

原创 按钮不点击没有效果

产生的原因:1、被别的透明的view给遮住了 2、高度不够实际是没有点击到按钮的

2017-02-17 15:59:55 477

原创 Facebook 登录自定义按钮

- (void)_updateContent:(NSNotification *)notification { NSInteger slot = 0; FBSDKProfile *profile = notification.userInfo[FBSDKProfileChangeNewKey]; if (profile) { SUCacheItem

2016-11-02 14:16:44 4062

原创 iOS 10 权限

麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风? 相机权限: Privacy - Camera Usage Description 是否允许此App使用你的相机? 相册权限: Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库? 通讯录权限: Priva

2016-09-27 16:59:24 402

原创 storybord中得所有控件不显示

在别人的xcode中可以显示但是在自己的电脑中不显示处理办法:

2016-07-04 09:30:28 551

原创 使用GCDAsyncUdpSocket&GCDAsyncSocket进行TCP连接和UDP连接

UDP初始化完后需要绑定端口号才能发送数据后接受到返回结果TCP初始化连接前需要先关闭连接。测试代码#import "P2PConnect.h"static NSString *hostAdress = @"服务器地址";static uint16_t serverPort = 1服务器端口;@implementation P2PConnect{ GCDAsyncSock

2016-06-22 18:27:49 3983

原创 pods

使用cocoapods时,import 找不到头文件。问题原因:这是因为还没设置头文件的目录。解决办法:在项目的Target的里设置一下,添加cocoapods头文件目录:目录路径直接写:${SRCROOT}   ,后边选择recursive 。就可以了。注意:是在 User Header Search Paths 里添加,不是上面的 Header Search Paths.pod

2016-06-16 18:25:40 715

原创 ios Method Swizzling学习笔记

Method Swizzling我的理解是运用Runtime获取类与类之间的方法,并且可以进行对换,从而达到某些目的,但是通过学习感觉和继承或者分类上使用父类的方法差不多,这种方式去搞,反而有点让接手的人不知所然,只是让外人觉得略微显得有点逼格一点。学习代码创建三个类,FOO、Bar、BarCategatory#import @interface Foo : NSObject-

2016-04-14 17:57:03 339

原创 修改tableview开启多选编辑模式下选中按钮的图片

-(void)layoutSubviews{    [super layoutSubviews];    for (UIControl *control in self.subviews){        if ([control isMemberOfClass:NSClassFromString(@"UITableViewCellEditControl")]){

2016-04-14 15:26:48 1916

原创 常用工具和库下载地址

http://blog.sina.com.cn/s/blog_73dc36510101ahim.html  photoShop破解地址和文件下载

2016-04-11 10:18:02 390

转载 转载ios开发如何使用Xcode的Targets来管理开发和生产版本的构建

如何使用Xcode的Targets来管理开发和生产版本的构建2016-03-31 06:18 编辑: suiling 分类:iOS开发来源:CocoaChina翻译活动27 7171 XCode招聘信息:高级PHP开发工程师iOS高级研发工程师iOS开发工程师高级iOS手机应用软件开发工程师(培训讲师)高级Cocos2d-x游戏开发工程师

2016-04-07 17:56:21 382

原创 ios自定义返回按钮后没有滑动返回手势处理方法

A push B push C在C中不需要加以下代码在A视图中增加下面代码-(void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; self.navigationController.interactivePopGestureRecognizer.enabled = NO;}在Apus

2016-03-21 11:02:09 1207

转载 ios MM-dd-yyyy hh:ss pm 转成yyyy-mm-dd hh:ss

NSString *currentDateString = @"8/5/2011 1:38:13 PM";    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];    //Set the AM and PM symbols    [dateFormatter setAMSymbol:@"AM"];  

2016-03-11 16:21:21 1783

原创 xib自定义View

创建view class 创建view xib设置view的classowner创建xib的文件名和view的classname最好一样在controoler中使用以下方法使用 //获得nib视图数组 NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"BookingManageHeaderView" own

2016-02-23 09:54:46 271

原创 NSMutableAttributedString同一个label中显示不同的字体样式

NSMutableString *mutableStr = [NSMutableString stringWithString:[NSString stringWithFormat:@"累计个人总收入:¥%@",achievementStr]]; NSRange range = [mutableStr rangeOfString:[NSString stringWithFormat:@"¥

2016-02-22 16:04:47 334

转载 转载http://www.cnblogs.com/kenshincui/p/3931948.html

代码改变世界Posts - 71, Articles - 0, Comments - 1397 CnblogsDashboardLoginHomeContactGalleryRSSKenshin Cui's BlogCODING 完美世界... iOS开发系列--UITableView全面解析2014-08-23 23:20 by Kensh

2016-02-18 17:51:18 1125

原创 ios本地通知

首先在注册通知 if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){ [application registerUserNotificationSettings:[UIUserNotificationSettings setti

2016-02-01 16:58:40 273

原创 计算脸部部位在坐标系中的位置

CIImage* image = [CIImage imageWithCGImage:aImage.CGImage]; NSDictionary *opts = [NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh

2016-01-21 10:47:57 1068

原创 修改searchBar搜索框的删除按钮颜色值

[_searchBar setImage:[UIImage imageNamed:@"技师_搜索_删除按钮"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateNormal];    UITextField *txfSearchField = [_searchBar valueForKey:@"searchField"];

2016-01-14 14:14:36 1628

转载 java文件读写操作

file(内存)----输入流---->【程序】----输出流---->file(内存)当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编

2016-01-06 10:42:10 417

原创 MAC下配置Tomcat环境

首先到http://tomcat.apache.org/download-90.cgi下载最新的版本,Mac下选择下载zip格式。下载后解压缩将文件保存在资源库中,更名为Tomacat9在拷贝到这个目录下会提示输入用户密码,接着打开终端输入命令安装Tomacat,在安装之前用sudo chmod 755 /Library/Tomacat9/bin/*sh先给该目录下的.sh文件权限

2016-01-04 17:14:26 521

原创 Masonry学习

使用Masonry Lable自动适应文字宽度高度,设置Label的最大宽度值preferredMaxLayoutWidth并且设置numberOfLines=0,才有效果#pragma mark - 滚动视图自适应-(void)testScrollView{ self.testScrollerView = [[UIScrollView alloc] init]; self.

2015-12-29 14:17:41 2770

原创 IOS 图片压缩保存

创建一个UIImage+Category用于压缩图片处理/** * @brief 压缩照片 * @parma img:目标图片 * @parma newSize:压缩至目标尺寸 */-(UIImage *)compressImageWithImage:(UIImage *)img scaleToSize:(CGSize)newsize{ UIGraphicsBegin

2015-12-22 10:25:54 434

原创 IOS 判断定位服务是否开启代码

if ([CLLocationManager locationServicesEnabled] && ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized || [CLLocationManager authorizationStatus] == kCLAuthor

2015-12-22 10:18:10 967

原创 切换VC的时候内存溢出崩溃

在ios8.1.2上跑APP在两个VC中相互切换,崩溃信息0libobjc.A.dylib0x0000000197cdfbd0objc_msgSend (scrollViewDidScroll:) + 161UIKit0x000000018aa90b9c-[UIScrollView setContentOffset:] + 500

2015-12-19 16:49:30 1856

原创 OC用Dispatch处理并发完成所有任务之后执行最终的结果

dispatch_queue_t queue = dispatch_queue_create("queueName", DISPATCH_QUEUE_CONCURRENT); dispatch_group_t group = dispatch_group_create(); dispatch_group_async(group, queue, ^{ NSLog(@"

2015-12-17 13:31:58 765

KeychainItemWrapper

IOS将用户设备信息或者用户资料写入keychain中永久保存,只有当用户的设备系统重置才会清除。

2015-09-15

日期处理类

//获取年月日如:19871127. - (NSString *)getFormatYearMonthDay; //返回月日 - (NSString *)getFormatMonthDay; //返回当前月一共有几周(可能为4,5,6) - (int )getWeekNumOfMonth; //该日期是该年的第几周 - (int )getWeekOfYear; //返回day天后的日期(若day为负数,则为|day|天前的日期) - (NSDate *)dateAfterDay:(int)day; //month个月后的日期 - (NSDate *)dateafterMonth:(int)month; //获取日 - (NSUInteger)getDay; //获取月 - (NSUInteger)getMonth; //获取年 - (NSUInteger)getYear; //获取小时 - (int )getHour; //获取分钟 - (int)getMinute; - (int )getHour:(NSDate *)date; - (int)getMinute:(NSDate *)date; //在当前日期前几天 - (NSUInteger)daysAgo; //午夜时间距今几天 - (NSUInteger)daysAgoAgainstMidnight; - (NSString *)stringDaysAgo; - (NSString *)stringDaysAgoAgainstMidnight:(BOOL)flag; //返回一周的第几天(周末为第一天) - (NSUInteger)weekday; //转为NSString类型的 + (NSDate *)dateFromString:(NSString *)string; + (NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)format; + (NSString *)stringFromDate:(NSDate *)date withFormat:(NSString *)format; + (NSString *)stringFromDate:(NSDate *)date; + (NSString *)stringForDisplayFromDate:(NSDate *)date prefixed:(BOOL)prefixed; + (NSString *)stringForDisplayFromDate:(NSDate *)date; - (NSString *)stringWithFormat:(NSString *)format; - (NSString *)string; - (NSString *)stringWithDateStyle:(NSDateFormatterStyle)dateStyle timeStyle:(NSDateFormatterStyle)timeStyle; //返回周日的的开始时间 - (NSDate *)beginningOfWeek; //返回当前天的年月日. - (NSDate *)beginningOfDay; //返回该月的第一天 - (NSDate *)beginningOfMonth; //该月的最后一天 - (NSDate *)endOfMonth; //返回当前周的周末 - (NSDate *)endOfWeek; + (NSString *)dateFormatString; + (NSString *)timeFormatString; + (NSString *)timestampFormatString; // preserving for compatibility + (NSString *)dbFormatString;

2015-07-24

空空如也

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

TA关注的人

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