自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YUSIR 完美CODING世界

// 平常勤积累,用时才不慌!!!

  • 博客(390)
  • 收藏
  • 关注

原创 iOS 支付宝SDK接入详解

一,在支付宝开放平台下载支付宝SDK(https://openhome.alipay.com/platform/document.htm#down)https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.HpDuWo&treeId=54&articleId=104509&docType=1二,添加sdk

2016-11-21 11:19:44 3270

转载 Google 开源技术protobuf 简介与样例

今天来介绍一下“Protocol Buffers ”(以下简称protobuf)这个玩意儿。本来俺在构思“生产者/消费者模式 ”系列的下一个帖子:关于生产者和消费者之间的数据传输格式。由于里面扯到了protobuf,想想干脆单独开一个帖子算了。  ★protobuf是啥玩意儿?  为了照顾从没听说过的同学,照例先来扫盲一把。  首先,protobuf是一个开源 项 目(官方站点

2016-11-21 00:13:42 419

原创 iOS 自定义Cell按钮的点击代理事件

在实际开发工作中,我们经常会在自定义的Cell中布局一些按钮,并且很多时候我们会在点击这个按钮的时候使我们的UItableviewController跳转到下一界面,有的可能还要传值。那么如何使我们的控制器能够获知我们按下了cell的按钮呢?毫无疑问,这是个代理模式的典型应用场景。首先我们先得定义一个cell。.h文件如下:[objc] view plain copy

2016-11-16 15:13:51 5937 1

原创 iOS NSTextAttachment - 图文混排

苹果在iOS7中推出了一个新的类NSTextAttachment,它是做图文混排的利器,本文就是用这个类,只用50行代码实现文字与表情混排,当然也可以实现段落中的图文混排。 首先说一下文字和表情的混排: 先来做点儿准备工作,搞一个存放表情信息的plist文件  NSString *filePath = [[NSBundle mainBundle] pathForResource:@

2016-11-15 15:12:53 3989

原创 iOS 正则表达式判断纯数字以及匹配11位手机号码

1用正则表达式 //是否是纯数字+ (BOOL)isNumText:(NSString *)str{ NSString * regex = @"(/^[0-9]*$/)"; NSPredicate * pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; BOOL

2016-11-15 15:05:31 10678 2

转载 NSString拼接字符串和NSPredicate详解

NSString* string; // 结果字符串02NSString* string1, string2; //已存在的字符串,需要将string1和string2连接起来03 04//方法1.05

2016-11-14 18:09:57 1341

原创 componentsJoinedByString 和 componentsSeparatedByString 的方法的区别

将string字符串转换为array数组 NSArray  *array = [Str componentsSeparatedByString:@","];==反向方法将array数组转换为string字符串 NSString *tempString = [mutableArray componentsJoinedByString:@","];-

2016-11-14 18:06:21 824

原创 iOS 去除字符串中的空格或多余空格(适合英文单词)

NSString -stringByTrimmingCharactersInSet: 是个你需要牢牢记住的方法。它经常会传入 NSCharacterSet +whitespaceCharacterSet 或 +whitespaceAndNewlineCharacterSet 来删除输入字符串的头尾的空白符号。需要重点注意的是,这个方法 仅仅 去除了 开头 和 结尾 的指定字符集中连续字

2016-11-14 18:04:07 4122

原创 iOS 富文本风格NSMutableParagraphStyle、定制UITextView插入图片和定制复制

问题一开发过程中,经常会遇到动态计算行高的问题, - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullableNSDictionaryNSString *, id> *)attributes context:(nullable NSString

2016-11-11 14:26:37 3055

原创 iOS UIlabel文字排版(改变字间距行间距)分类

在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行间距和字间距按照需要调节。比如一个Label的默认间距效果是这样:然后用一个封装起来的Category来调整这部分文字的行间[UILabel changeLineSpaceForLabel:cell.describeLa

2016-11-10 17:51:37 5479

转载 喜欢用Block的值得注意-Block的Retain Cycle的解决方法

本文不讲block如何声明及使用,只讲block在使用过程中暂时遇到及带来的隐性危险。主要基于两点进行演示:1.block 的循环引用(retain cycle)2.去除block产生的告警时,需注意问题。有一次,朋友问我当一个对象中的block块中的访问自己的属性会不会造成循环引用,我哈绰绰的就回了一句,不会。兄弟,看完这个,希望你能理解我为什么会说不

2016-11-09 10:28:46 290

原创 看YYModel源码的一些收获

关于源码学习自己的一些感悟第一层:熟练使用;第二层:读懂代码;第三层:通晓原理;第四层:如何设计;自己学到了什么,还留有什么问题;关于分享关于线下演讲分享和线上文章分享,我一直觉得技术领域要学东西的话线上文章分享是最好的形式,一是它传播广,触达用户多;二是耗时少,写一篇文章或看一篇文章都比听一个分享花的时间少很多;三是可沉淀,读者可以反复看细

2016-11-07 14:33:54 431

原创 NSTimer 进阶使用总结与注意事项

NSTimer 是 iOS 上的一种计时器,通过 NSTimer 对象,可以指定时间间隔,向一个对象发送消息。NSTimer 是比较常用的工具,比如用来定时更新界面,定时发送请求等等。但是在使用过程中,有很多需要注意的地方,稍微不注意就会产生 bug,crash,内存泄漏。本文讲解了使用 NSTimer 时需要注意的问题。1. NSTimer 容易泄漏比如以下代码创建了一个计时

2016-11-07 14:30:51 420

原创 Objective-C 深复制和浅复制与<NSCopying>协议

1.简单复制只能实现浅拷贝:指针赋值,使两个指针指向相同的一块内存空间,操作不安全。2. Foundation类已经遵守了和 协议,即实现了copy和mutableCopy方法,因此Foundation对象可以使用这些方法创建对象的副本或可变副本@protocol NSCopying- (id)copyWithZone:(NSZone *)zone;

2016-11-07 14:26:44 582

原创 UIViewController-iOS-Apple官方文档翻译注释总结

/*UIViewController is a generic controller base class that manages a view. It has methods that are calledwhen a view appears or disappears. Subclasses can override -loadView to create their cu

2016-11-07 14:18:52 1343

原创 iOS UITextField使用全攻略

//初始化textfield并设置位置及大小  UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式    text.borderStyle = UITextBorderStyleRoundedRect;

2016-11-04 09:08:40 524

原创 让UITableView的section header view不悬停的方法

当 UITableView 的 style 属性设置为 Plain 时,这个tableview的section header在滚动时会默认悬停在界面顶端。取消这一特性的方法有两种:将 style 设置为 Grouped 。这时所有的section header都会随着scrollview滚动了。不过 grouped 和 plain 的样式有轻微区别,切换样式后也许需要重新调整UI重

2016-11-02 17:59:48 2224

原创 UIButton设置圆角和边框及边框颜色

UIButton *testButton = [UIButton buttonWithType:UIButtonTypeSystem]; [testButton setFrame:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2, 100,100)]; [testButton setTitl

2016-11-02 17:55:11 2979

原创 SQL总结(快速参考)

SQL 语句语句语法AND / ORSELECT column_name(s)FROM table_nameWHERE conditionAND|OR conditionALTER TABLE (add column)ALTER TABLE table_name ADD column_name dataty

2016-11-02 10:16:37 294

原创 UIDocumentInteractionController之程序间文档共享

iOS中的沙盒可以让平台更加的安全,这也是沙盒给用户带来的最主要好处。不过由于沙盒的严格限制,导致程序之间共享数据比较麻烦。一般在程序间共享文档可以通过UIDocumentInteractionController类实现通讯。它支持在你的app中用其他app预览和显示文档。同时也支持文件关联,允许其他app通过你的程序打开文件。这些技术包括了UIKit中提供的UIDocumentInteracti

2016-10-27 15:41:57 1389

原创 彻底解决iOS项目中 "_OBJC_CLASS_$_XXXService", referenced from: 的类似问题

这是大家熟悉的开发过程中可能遇到的问题这是提交源码到appStore不支持64位设备的提示本人在提交项目到appStore时发生的的错误,提示必须要支持64的设备,然后自己赶紧进行相关的适应,出现了类似标题的问题,解决方法如下:1、查看Build Phases下的 Link Binary With Libraries是否缺少相应地类库(或者是iOS自带的或者外部

2016-10-21 17:23:34 1998

原创 NSString的各种用法总结(创建、截取、判断比较、转化数据类型、拼接、替换、添加、追加、读取、写入、删去、改变)

1、创建字符串1)NSSring *str = @”adf”;2)NSString *str1 = [NSString new];NSString *str2 = [[NSString alloc] initWithString:@”adf”]; (等同于1)4)NSString *str3 = [NSString stringWithFormat:@”name is %@”,@”

2016-10-19 10:49:40 532

原创 iOS获取手机的IP地址

1.添加这五个库(在联网的情况下)#import #import #import #import #import 2.写一个方法- (NSString *)getDeviceIPIpAddresses{ int sockfd =socket(AF_INET,SOCK_DGRAM, 0);// if (sockfd 0) return nil; NS

2016-10-12 09:25:18 1674

原创 iOS获取当前设备型号等信息总结 包含iPhone7和iPhone7P

#include #include //获得设备型号+ (NSString *)getCurrentDeviceModel{ int mib[2]; size_t len; char *machine; mib[0] = CTL_HW; mib[1] = HW_MACHINE; sysctl(mib, 2, NULL, &len, NULL

2016-10-11 12:04:22 11322

原创 iOS开发常用的RGB色值和宏

iOS中RGB常用的色值,同时可将对颜色的设置定义成宏,方便开发应用,如:// @name 颜色相关  // 参数格式为:0xFFFFFF  #define kColorWithRGB(rgbValue) \  [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 \    

2016-10-10 16:48:23 876

转载 牛人iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

概览随着移动互联网的发展,如今的手机早已不是打电话、发短信那么简单了,播放音乐、视频、录音、拍照等都是很常用的功能。在iOS中对于多媒体的支持是非常强大的,无论是音视频播放、录制,还是对麦克风、摄像头的操作都提供了多套API。在今天的文章中将会对这些内容进行一一介绍:音频音效音乐音频会话录音音频队列服务视频MPMoviePlayerControllerMPMov

2016-10-10 10:45:20 827

转载 pjsip库分析

http://blog.chinaunix.net/space.php?uid=287570&do=blog&cuid=728411如果你对SIP/VoIP技术感兴趣,哪希望你不要错过:),如果你对写出堪称优美的Code感兴趣,那么你也不可错过:)这期间我想分析一下一个实际的协议栈的设计到实现的相关技术,算是自己的一个学习经历记录.最初选择这个库做分析的原因很简单,文档齐全:),其它良好的

2016-10-08 09:56:18 2868

原创 UIView-iOS-Apple官方文档翻译注释总结

//// UIView.h// UIKit//// Copyright (c) 2005-2016 Apple Inc. All rights reserved.//#import #import #import #import #import #import #import #import #import NS_ASSUME_NONNULL_BEGINtyp

2016-09-28 10:53:38 854

原创 UIScrollView-iOS10-Apple官方文档翻译注释总结

//// UIScrollView.h// UIKit//// Copyright (c) 2007-2016 Apple Inc. All rights reserved.//#import #import #import #import #import #import NS_ASSUME_NONNULL_BEGINtypedef NS_ENUM(NSInt

2016-09-28 10:06:39 1082

原创 UITableView-iOS-Apple官方文档翻译注释总结

//// UITableView.h// UIKit//// Copyright (c) 2005-2015 Apple Inc. All rights reserved.//#import #import #import #import #import #import NS_ASSUME_NONNULL_BEGINtypedef NS_ENUM(NSInt

2016-09-26 18:22:50 1137

原创 Effective Objective-C 2.0 初读小结

最近拜读了<<Effective Objective-C 2.0>>这本书, 经典的书确实值得阅读, 并且里面的很多东西, 并不过时, 书中有52条建议, 但这里只选取了其中的几条来分享, 这几条可能是我们在开发中比较常用的, 还有就是因为其他的不是能用很短的语言写出来的, 如果你没有读过这本经典的书, 还是建议阅读一下原书.

2016-09-20 17:39:41 442

转载 ApplePay集成教程

Apple Pay运行环境:iPhone6以上设备,操作系统最低iOS9.0以上,部分信息设置需要iOS9.2以上。目前还不支持企业证书添加。环境搭建好后可以在模拟器上面运行,xcode7.2.1+iPhone6SP9.2系统下,系统会绑定几种虚拟的银行卡,和几个联系人,方便调试,支付也不会发生真实的付款,真的很方便。准备工作在接入Apple Pay之前,首先要申请Merchant

2016-09-20 17:16:50 741

转载 iOS10 权限访问崩溃

手机升级了 iOS10 Beta,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist mus

2016-09-20 17:11:34 251

原创 xcode8 升级后注释快捷键不能使用的解决方法

一种说法:这个是因为苹果解决xcode ghost。把插件屏蔽了。解决方法命令运行:  sudo /usr/libexec/xpccachectl 然后必须重启电脑后生效还有一种说法:不用指令直接重启就可以了。

2016-09-20 16:58:53 268

原创 iOS 键盘风格详解UIKeyboardType

一、键盘风格   UIKit框架支持8种风格键盘。[java] view plain copy print?typedef enum {      UIKeyboardTypeDefault,                // 默认键盘:支持所有字符      UIKeyboardTypeASCIICapable,

2016-09-13 12:46:15 4154

原创 UIScrollViewDelegate-代理API详解

在iOS编程中,经常用到UIScrollView控件。自然也会用到UIScrollViewDelegate协议。今天就抽空,研究了一下UIScrollViewDelegate中所有的委托方法。仅做Mark!如有,错误之处,欢迎留言指正,交流!贴:#pragma mark - UIScrollViewDelegate 委托//scrollView滚动时,就调用该方法。任何offse

2016-09-12 18:47:06 295

转载 TCP/IP(六):HTTP 与 HTTPS 简介

本文是准备面试过程中网络部分总结整理的最后一篇文章,主要介绍以下知识:HTTP 协议概述POST 请求和 GET 请求Cookie 和 Session数据传输时的加密HTTPS 简介HTTP 协议在 OSI 七层模型中,HTTP 协议位于最顶层的应用层中。通过浏览器访问网页就直接使用了 HTTP 协议。使用 HTTP 协议时,客户端首先与服务端的 80 端口建立一个 TCP 连接,

2016-09-12 14:47:58 519

转载 TCP/IP(五):TCP 协议详解

上一节 中讲过,TCP 协议是面向有连接的协议,它具有丢包重发和流量控制的功能,这是它区别于 UDP 协议最大的特点。本文就主要讨论这两个功能。数据包重发数据发送丢包重发的前提是发送方能够知道接收方是否成功的接收了消息。所以,在 TCP 协议中,接收端会给发送端返回一个通知,也叫作确认应答(ACK),这表示接收方已经收到了数据包。根据上一节对 TCP 首部的分析得知,ACK 的值和

2016-09-12 14:46:42 390

转载 TCP/IP(四):TCP 与 UDP 协议简介

从本章开始,我们开始介绍最重要的传输层。传输层位于 OSI 七层模型的第四层(由下往上)。顾名思义,传输层的主要作用是实现应用程序之间的通信。网络层主要是保证不同数据链路下数据的可达性,至于如何传输数据则是由传输层负责。传输层协议简介常见的传输层协议主要有 TCP 协议和 UDP 协议。TCP 协议是面向有连接的协议,也就是说在使用 TCP 协议传输数据之前一定要在发送方和接收方之间建立连

2016-09-12 14:45:33 334

转载 TCP/IP(三):IP协议相关技术

在前两篇文章中,我分别介绍了数据链路层和网络层的IP协议。虽然这个系列教程的重点是搞定 TCP/IP,不过不用着急,本文简要介绍完与 IP 协议相关的技术,下一篇文章就会正式、详细的介绍 传输层与 TCP 协议。这篇文章会介绍 DNS、ARP、NAT 协议,这些内容虽然与 TCP 没有直接关联,但理解它们的原理有助于巩固基础知识,更好的理解网络的工作原理。DNS 解析IP地址用于识别通

2016-09-12 14:44:28 304

空空如也

空空如也

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

TA关注的人

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