<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cybtop的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cybtop</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cybtop]]></copyright><item><title><![CDATA[c语言数据类型]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/146641413</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/146641413</guid><author>cybtop</author><pubDate>Sat, 29 Mar 2025 10:34:49 +0800</pubDate><description><![CDATA[变量i是int类型，将i赋值给ch，后者只能容纳i（二进制形式为101000001，共9位）的后八位，前面多出来的二进制位被丢弃，保留后八位就变成了01000001（十进制的65，相当于字符A）。有时候需要查看，当前系统不同整数类型的最大值和最小值，C 语言的头文件limits.h提供了相应的常量，比如SCHAR_MIN代表 signed char 类型的最小值-128，SCHAR_MAX代表 signed char 类型的最大值127。上面示例中，变量x加1，得到的结果不是256，而是0。]]></description><category></category></item><item><title><![CDATA[iOS应用保持连接]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/86588983</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/86588983</guid><author>cybtop</author><pubDate>Tue, 22 Jan 2019 09:20:54 +0800</pubDate><description><![CDATA[当iphone应用程序进行网络编程时，切到后台后，socket连接会断掉，ios的设计就是这样。

但是好在apple公司也没有那么绝，还是有一些东西可以在后台运行的(backgroundmodes)，

 



比如：音乐 GPS  Voip Locationupdates等

我们以voip为例：

这里我们可以将NSStream指定voip的属性，从而可以避免程序切到后台的时候socket...]]></description><category></category></item><item><title><![CDATA[iOS开发之UIGestureRecognizer]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/85983766</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/85983766</guid><author>cybtop</author><pubDate>Mon, 07 Jan 2019 09:00:25 +0800</pubDate><description><![CDATA[


//当前手势状态
typedef NS_ENUM(NSInteger, UIGestureRecognizerState) {
    //尚未识别是何种手势操作（但可能已经触发了触摸事件），默认状态
    UIGestureRecognizerStatePossible,   
    //手势已经开始，此时已经被识别，但是这个过程中可能发生变化，手势操作尚未完成
    UIGestu...]]></description><category></category></item><item><title><![CDATA[CAShapeLayer绘图]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/84669132</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/84669132</guid><author>cybtop</author><pubDate>Fri, 30 Nov 2018 22:55:06 +0800</pubDate><description><![CDATA[之前讲过使用UIBezierPath在UIView的drawRect中绘图， 今天我们讲下另外一种方式: CAShaperLayer

先说说使用CAShapeLayer的优点: GPU执行, GPU执行, GPU执行

 

比如我们要画这样一个形状，



按照之前的思路是创建一个UIView子类， 用UIBezierPath画一个外围的不闭合圆弧， 在画中间点圆

代码量不是很多弹也不少， ...]]></description><category></category></item><item><title><![CDATA[iOS Masonry控件等比例\等间距布局]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/84637298</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/84637298</guid><author>cybtop</author><pubDate>Thu, 29 Nov 2018 17:59:57 +0800</pubDate><description><![CDATA[一、先解释相关API


			1

			2

			3

			4

			5

			6

			7

			8

			9

			10

			11

			12

			13

			14

			15

			16

			17

			18
			
			
			/**

			 *  distribute with fixed spacing

			 *

			 *  @pa...]]></description><category></category></item><item><title><![CDATA[mac安装brew]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/83898230</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/83898230</guid><author>cybtop</author><pubDate>Fri, 09 Nov 2018 15:18:19 +0800</pubDate><description><![CDATA[ 安装方法:命令行输入 

/usr/bin/ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;  

回车（这里有提示目录不存在，要创建需要按return键，如果用的windows键盘，就是回车键）

 

brew update  更新brew；

brew inst...]]></description><category></category></item><item><title><![CDATA[React/React Native的ES5与ES6写法对照]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/80813768</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/80813768</guid><author>cybtop</author><pubDate>Tue, 26 Jun 2018 13:09:48 +0800</pubDate><description><![CDATA[很多React/React Native的初学者都被ES6的问题迷惑：各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component)，然而网上搜到的很多教程和例子都是ES5版本的，所以很多人在学习的时候连照猫画虎都不知道怎么做。今天在此整理了一些ES5和ES6的写法对照表，希望大家以后读到ES5的代码，也能通过对照，在ES6下实现相同的功能。模块引用在...]]></description><category></category></item><item><title><![CDATA[MVVM设计模式加RAC响应式编程]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/80227668</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/80227668</guid><author>cybtop</author><pubDate>Mon, 07 May 2018 16:34:13 +0800</pubDate><description><![CDATA[一：为什么要用MVVM？为什么要用MVVM？只是因为它不会让我时常懵逼。每次做完项目过后，都会被自己庞大的ViewController代码吓坏，不管是什么网络请求、networking data process、跳转交互逻辑统统往ViewController里面塞，就算是自己写的代码，也不敢直视。我不得不思考是不是MVC模式太过落后了，毕竟它叫做Massive View Controller，其实...]]></description><category></category></item><item><title><![CDATA[ReactiveCocoa进阶]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/80225709</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/80225709</guid><author>cybtop</author><pubDate>Mon, 07 May 2018 14:48:51 +0800</pubDate><description><![CDATA[1.ReactiveCocoa常见操作方法介绍。1.1 ReactiveCocoa操作须知所有的信号（RACSignal）都可以进行操作处理，因为所有操作方法都定义在RACStream.h中，而RACSignal继承RACStream。1.2 ReactiveCocoa操作思想运用的是Hook（钩子）思想，Hook是一种用于改变API(应用程序编程接口：方法)执行结果的技术.Hook用处：截获AP...]]></description><category></category></item><item><title><![CDATA[ReactiveCocoa基础]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/80225678</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/80225678</guid><author>cybtop</author><pubDate>Mon, 07 May 2018 14:47:23 +0800</pubDate><description><![CDATA[在讲ReactiveCocoa之前,我们来回忆一下Block在开发中的使用场景: 1.把block保存到对象中,等到恰当的时候才去调用
 2.把block当做方法的参数使用,外界不调用,都是方法内部去调用,Block实现交给外界决定.
 3.把block当做方法的返回值,目的就是为了代替方法,block交给内部实现,外界不需要知道Block怎么实现,只管调用定义属性的时候block:ARC使用st...]]></description><category></category></item><item><title><![CDATA[iOS开发block访问外部变量的一些注意点]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/80193355</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/80193355</guid><author>cybtop</author><pubDate>Fri, 04 May 2018 12:26:24 +0800</pubDate><description><![CDATA[    Block类型是一个C级别的语法和运行机制。它与标准的C函数类似,不同之处在于,它除了有可执行代码以外,它还包含了与堆、栈内存绑定的变量。因此,Block对象包含着一组状态数据,这些数据在程序执行时用于对行为产生影响。 　　你可以用Block来写一些可以传到API中的函数语句,可选择性地存储,并可以使用多线程。作为一个回调,Block特别的有用,因为block既包含了回调期间的代码,又包含...]]></description><category></category></item><item><title><![CDATA[iOS开发常用第三方库]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/80193326</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/80193326</guid><author>cybtop</author><pubDate>Fri, 04 May 2018 12:22:08 +0800</pubDate><description><![CDATA[UI动画网络相关Model其他数据库缓存处理PDF图像浏览及处理摄像照相视频音频处理响应式框架消息相关版本新API的Demo代码安全与密码测试及调试AppleWatchVPN完整项目好的文章Xcode插件美工资源其他资源开发资源 UI下拉刷新EGOTableViewPullRefresh - 最早的下拉刷新控件。SVPullToRefresh - 下拉刷新控件。MJRefresh - 仅需一行代码...]]></description><category></category></item><item><title><![CDATA[iOS 解决TableView的cell重用问题]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/79878101</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/79878101</guid><author>cybtop</author><pubDate>Tue, 10 Apr 2018 11:04:57 +0800</pubDate><description><![CDATA[tableView的常规配置，当超出一屏的cell就会标上可重用的标识出列到可重用缓存池中，后面再根据可重用标识来到的可重的cell就会和前面显示同样内容。- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    // 定义唯一标识    st...]]></description><category></category></item><item><title><![CDATA[Mac环境svn的使用]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/78172998</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/78172998</guid><author>cybtop</author><pubDate>Sun, 08 Oct 2017 08:54:49 +0800</pubDate><description><![CDATA[在Windows环境中，我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下，由于Mac自带了svn的服务器端和客户端功能，所以我们可以在不装任何第三方软件的前提下使用svn功能，不过还需做一下简单的配置。

我们首先来看下，如何在Mac环境下搭建svn服务器端环境。



一、创建代码仓库，用来存储客户端所上传的代码
我先在/User/apple目录下新建一个svn目]]></description><category></category></item><item><title><![CDATA[iOS二维码生成]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/78167770</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/78167770</guid><author>cybtop</author><pubDate>Fri, 06 Oct 2017 23:41:39 +0800</pubDate><description><![CDATA[#import "ViewController.h"




@interface 
ViewController ()







@property (weak,
nonatomic) IBOutlet
UIImageView *imageView;




@end




@implementation ViewController
]]></description><category></category></item><item><title><![CDATA[iOS二维码扫描]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/78167750</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/78167750</guid><author>cybtop</author><pubDate>Fri, 06 Oct 2017 23:36:26 +0800</pubDate><description><![CDATA[每一步：添加 AVFoundation.framework 库

General > Linked Frameworks and Libraries



第二步：实现代码



#import "ViewController.h"

#import 




@interface 
ViewController ()AVCaptureMetadataOutpu]]></description><category></category></item><item><title><![CDATA[SDWebImage底层实现原理]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/77829210</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/77829210</guid><author>cybtop</author><pubDate>Mon, 04 Sep 2017 00:47:44 +0800</pubDate><description><![CDATA[SDWebImage底层实现有沙盒缓存机制，主要由三块组成


1、内存图片缓存
2、内存操作缓存
3、磁盘沙盒缓存

内部实现过程：
第一步，下载SDWebImage，导入工程。
第二步，在需要的地方导入头文件
1   #import "UIImageView+WebCache.h"

第三步，调用sd_setImageWithURL：方法缓存图片，注意，这就是新版本的新方]]></description><category></category></item><item><title><![CDATA[精简易用cocoaPods的安装与使用]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/77518357</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/77518357</guid><author>cybtop</author><pubDate>Thu, 24 Aug 2017 01:29:59 +0800</pubDate><description><![CDATA[cocoaPods 安装和使用


第一步：替换ruby源

$ gem sources -l                              　　　　　　  查看当前ruby的源

$ gem sources --remove https://rubygems.org/     先删除源

$ gem sources -a https://ruby.taobao.or]]></description><category></category></item><item><title><![CDATA[iOS带弹跳动画发布界面]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/76977263</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/76977263</guid><author>cybtop</author><pubDate>Wed, 09 Aug 2017 11:32:08 +0800</pubDate><description><![CDATA[项目中经常会用到带弹跳动画发布界面



//  PublishView.m//  UIImage+ImageEffects.h  苹果蒙化图片的分类  pop.h弹跳动画框架  EJExtension.h模型转换框架//  ComposeModel 用于设置按钮文字与图片的模型，在本地设置plist文件保存image（按钮图片）和text（按钮文字）
#import "PublishVi]]></description><category></category></item><item><title><![CDATA[iOS自定义UICollectionViewLayout布局实现瀑布流]]></title><link>https://blog.youkuaiyun.com/cybtop/article/details/76696758</link><guid>https://blog.youkuaiyun.com/cybtop/article/details/76696758</guid><author>cybtop</author><pubDate>Sat, 05 Aug 2017 01:25:26 +0800</pubDate><description><![CDATA[自定义 UICollectionViewLayout 布局，实现瀑布流；UICollectionView和UICollectionViewCell 另行创建，这只是布局文件，


外界控制器只要遵守协议并成为他的代理并实现代理方法heightForItemAtIndex:返回每个cell的高就可以实现温布流效果，也

可以实现相应的代理方法设置总共有多少列或是行间距列间距与边框间距。]]></description><category></category></item></channel></rss>