- 博客(37)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 EmojiKeyboard一款内置3000多个Emoji的表情键盘
EmojiKeyboardEmojiKeyBoard GitHub.表情包键盘,内置3000多个Emoji表情包(分为:笑脸,鬼脸,动物,爱心,手势,人,旗帜七大类)。大量Emoji 图片通过.bundle封装,通过plist文件进行统一管理。EmojiKeyboard 使用简单UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(50, 250, 250, 44)];UITextField *textF = [[UIText
2020-08-15 17:46:19
2520
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 J2EE MyBatis竟然可以在IOS开发中使用!!! 集中式管理SQL语句
简介MyBatis首先,我们大致介绍一下什么是MyBatis…MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。Mybatis优点简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装
2020-08-01 20:55:22
188
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JQueryWeb -- Swift版本
JQueryWeb版本:v2.0开发者:CreaterOS发布时间:2020.05.22项目完善:如果您在使用中发现任何BUG或者有任何宝贵意见,可直接通过863713745@qq.com邮箱致电我们,我们尽最快的努力为您解决问题,并保证项目的稳定更新版本迭代历史版本Objective-C描述Swift描述v1.0v1.0通过JQuery语法形式进行封装,快速高效的产生JS语句。/未开发v2.0v1.0未更新框架v1.0根据Swift语法特点,优化
2020-05-22 22:51:08
235
原创 无重复字符的最长子串
请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。输入: s = “abcabcbb”s 由英文字母、数字、符号和空格组成。输入: s = “pwwkew”输入: s = “bbbbb”
2023-07-16 23:40:47
140
原创 NSObject 底层原理分析(二) -- SideTable
NSObject 底层原理分析 SideTable SlideTable 结构Side Table初始化与析构函数Side Table 提供方法SlideTable 调用SlideTable 引用计数+1SideTable 引用技术-1上一篇NSObject 底层原理分析(一)中我们讨论了关于[[NSObject alloc] init],[NSObject new]以及[NSObject dealloc]的执行流程。其中,我们有提到释放NSObject中会判断当前的isa是否经过SideTable优化。
2022-02-22 16:58:59
373
原创 NSObject 底层原理分析(一)
NSObject 底层原理分析初始化调用alloc方式调用init方式调用new方式销毁调用deallocNSObject在Objective-C中大多数类层次结构的根类,通常我们在使用NSObject对象时,会使用[[NSObject alloc] init] 或者 [NSObject new]创建对象实例,通过这篇文章,我们一起研究关于NSObject的对象创建过程。初始化调用alloc方式当我们调用[NSObject alloc]方法时候,会调用_objc_rootAlloc(self)这个方
2022-02-21 18:35:19
380
原创 IOS获取IP地址技术拆解
上书提到小编自制Demo中引进了一个新的技术–获取IP地址(源码来源于网上),由此本回将对于上文提及的代码做以详尽的分析,如果有更好的理解方式或者建议,可在评论区或私聊与小编进行探讨~更好的文章可以投稿专题 更多内容收录专题//Get IP Address- (NSString *)getIPAddress{ NSString *adress = @"error"; struct ifaddrs *interfaces = NULL; struct ifaddrs *temp
2021-09-19 00:23:33
233
原创 Huffman压缩算法
霍夫曼和自适应的霍夫曼是编码的例子,它利用符号概率的统计偏斜,将其编码为尽可能少的位。(还有其他类型的编码,如算术、范围和不对称数字系统。Lempel-Ziv 是建模的一个例子,它采用在压缩的特定类型的数据中发现的冗余,在此例文本中,并将其转换为一系列适合编码的符号。Lempel-Ziv 的工作假设是,文本中不会重复不同长度的字符串,这是自然语言的案例。这种假设根本不适用于音频或图像文件,因为冗余的形式非常不同。在数据上执行转换,以按频率将组件分离出来,作为建模的一部分。此外,人类消费的音频和图像数据也
2021-09-19 00:21:43
257
原创 iOS获取IP地址 --详细教程
小编将Demo代码投放下文,如果有更好的建议或者不理解的地方欢迎留言讨论~####在此Demo中主要包括了一下内容UITextField文本输入框的应用标签UILabel的使用按钮UIButton的使用,响应事件开关UISwitch空间的设置显示当前时间的NSTimer的使用警告框UIAlert以及UIAlertSheet的使用活动器的使用webView的使用获取本机的IP地址(将在下一章详细讲述代码分析)####程序首要的思路确定程序输入时候的Name and Password
2021-09-19 00:07:32
1352
1
原创 LLVM Clang类名格式检验插件
LLVM Clang编译器编写的Xcode进行代码类名格式检验插件一.源码#include <iostream>#include "clang/AST/AST.h"#include "clang/AST/ASTConsumer.h"#include "clang/ASTMatchers/ASTMatchers.h"#include "clang/ASTMatchers/ASTMatchFinder.h"#include "clang/Frontend/CompilerInstanc
2021-09-17 14:51:06
275
原创 定制属于自己的徽章 -- shields
ShieldsGithub Search shieldsGithub shieldsIntroductionCustomize the personalized badge effect with simple configuration. Use1. C
2021-05-21 17:35:04
257
原创 Paintinglite迎来v2.1.2优化版本迭代,引入Pod安装
Paintinglite下载地址Github Paintinglite.v2.1.0版本,全新设计模式,全新管理数据库版本迭代Paintinglite版本更新v1.1.0 版本更新概要优化打开数据库操作和增加了查看数据库文件存在,大小等重要信息v1.2.0 版本更新概要重新修订了压力测试策略,极大程度上缩减框架大小(<10MB),增加一级缓存和日志写入策略v1.3.0 版本更新概要修复了一级缓存导致的对象封装操作漏洞,完善了一集缓存,优化了对表的CREA
2021-05-13 16:20:34
655
2
原创 SpringBoot 学习笔记(一)
SpringBoot 学习笔记(一)1.配置SpringBoot pom.xml<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version></parent><depende
2020-10-25 17:42:02
100
原创 斯坦福2020SwiftUI课程(一) -- MVVM搭建MemoryGame
MVVM架构在OC开发中我们经常使用的开发架构模式MVC(Model-View-Controller),从SwiftUI的引入,MVVM(Model-View-ModelView)开发架构在Swift中可谓大显身手。View首先,我们从SwiftUI开始谈起,项目创建完成后,我们就看到了两个结构代码片段。import SwiftUIstruct ContentView: View { var body: some View { Text("Hello SwiftUI")
2020-08-25 10:03:58
593
原创 不容错过, Paintinglite轻量级Sqlite3框架
Paintinglite安装直接通过GitHub下载到本地,将Paintinglite拖到项目中,即可体验Paintinglite。需要在项目中添加Sqlite3支持的libsqlite3.tbd或libsqlite3.0.tbd下载地址快来体验Paintinglite的强大功能,假设您对Paintinglite相对满意,在GitHub中留下您宝贵的Star,非常甘心您的支持。Paintinglite_GitHub Download简介Paintinglite是一款优秀,快速的Sqlite3
2020-06-29 08:05:26
251
原创 Sqlite3开发你一定要知道的大数据插入优化策略
Sqlite3Sqlite3常用在移动端或者嵌入式设备开发中,经常担任数据持久化存储的作用,区别于MySQL,SQLServer等一些主流的数据库,Sqlite更显轻薄,运行速度更快,但是作为关系型数据库,Sqlite数据库和MySQL数据库等都对插入查询方式的不同而产生不同的效率,通过这篇博客,我们来侧重分析对于大量数据插入的效率带来的效率问题.(数据量达到千万级或者亿级别)优化策略(默认采用user表)nameageTEXTINTEGER我们先从插入语句入手逐步向数据库
2020-06-13 10:28:10
1428
原创 GnuStep NSArray源码分析(一) -- 初始化
前言前面几期博客中,我们看了苹果开发常用主流框架的源码,在其中我们也学会了一些设计理念和设计思路。从这篇博客开始我们开起了对于Objective-C源码的部分解析。虽然Objective-C官方是非开源的,但小编找到了GnuStep程序,来模仿苹果官方实现了OC中Foundation的部分源代码,是值的我们来分析和理解的。NSArray在OC开发中,我们使用相对较为多的,就是数组操作,对于数组OC定义了NSArray和NSMutableArray,对于NSArray来说,是一个不可变的数组。这篇文章就
2020-06-03 12:29:54
589
原创 GPUImage图像处理源码精讲(二) -- 渲染效果
渲染效果这篇是GPUImage图像处理代码最后一篇,下面希望小编分析IOS哪些框架,大家可以在评论区进行留言,小编会第一时间展开源码分析阅读。前一篇,了解了关于UIImage转换成为GPUImage的大致过程,虽然代码很长,但是,我们领略了基本思想。今天我们来关注一个这个GPUImage核心渲染是如何操作的,这里面应用了一些图像,像素点等知识,需要的小伙伴可以自行了解。我们主要看设计思路。渲染代码代码取自第一篇中的示例代码。我们进入一个Filter来看一下具体操作,就从褐色过滤器来关注。 GPUI
2020-05-26 21:46:40
358
原创 算法导论(一) -- 插入排序算法
插入排序算法排序算法在编程中,对集合数组操作是程序猿经常需要做的事情。因此,对于数组的排序算法就成为算法的焦点,《算法导论》一开始就为我们介绍了插入排序算法。这篇文章,我们来一起分析一下插入排序的基本思路和程序实现。采用的编程语言使用Java和C/C++语言进行编写,代码讲解时候采用伪代码格式。插入排序思路我们在这里定义两个空间表示两个数组A,B。我们先规定褐色为A数组,还有一个装满扑克牌的数组B(顺序性无所谓)。为了将数组B中的扑克按照数字大小进行排序(升序/降序)。我们将从B数组取出一张牌
2020-05-25 22:26:57
264
原创 GPUImage图像处理源码精讲(一) -- 滤镜效果
GPUImage在阅读Rac,Masonry,AFNetworking源码后,我们稍作放松,来看另一个经典常用的第三方框架GPUImage,利用GPUImage对图片视频进行滤镜效果处理和优化。示例效果下面图片是通过GPUImage添加褐色渲染生成的照片,这一操作和手机上使用的滤镜软件别无差别。GPUImage官方介绍GPUImage框架是BSD许可的iOS库,可让您将GPU加速的滤镜和其他效果应用于图像,实时摄像机视频和电影。与CoreImage(iOS 5.0的一部分)相比,GPUIma
2020-05-25 21:52:12
508
原创 AFNetworking网路请求源码精讲(五) — AFAutoPurgingImageCache / UIImage+AFNetworking(图片缓存)
UIImage+AFNetworking图片缓存下载前面四篇主要讲解了一下关于AFNetworking的常用请求的使用,这篇文章,缓和一下气氛,我们来关注一下AFNetworking提供的图片缓存机制。使用方法在项目中导入UIKit+AFNetworking/UIImageView+AFNetworking.h来调用。通过头文件名称,我们不难看出这是一个分类,是AFNetworking对UIImage方法拓展的操作。UIImageView *imageV = [[UIImage alloc] in
2020-05-20 18:17:48
227
原创 AFNetworking网路请求源码精讲(四) — Download下载任务
NSURLSessionDownloadTask前面三篇,分析了关于AFNetworking的GET和POST请求方法,以及AFNetworking将系统的协议封装成为了一个AFNetworking自己的DataTaskDelegate的方法。通过本篇AFNetworking,我们将分析AFNetworking下载任务操作。NSURLSessionDownloadTask- (NSURLSessionDownloadTask *)downloadTaskWithRequest:(NSURLReques
2020-05-18 22:54:01
590
原创 AFNetworking网络请求源码精讲(三) -- AFURLSessionManagerTaskDelegate
AFURLSessionManagerTaskDelegate前两篇,我们分析了GET和POST操作,同时,我们分析了AFNetworking是如何将GET和POST进行封装的,今天我们来看,网络请求最重要的必经之路Delegate,我们来看一下AFNetworking是如何封装AFURLSessionManagerTaskDelegate。定义Delegate在这里AFURLSessionManagerTaskDelegate自定义Delegate利用系统提供的NSURLSessionTaskDel
2020-05-14 21:45:16
318
原创 AFNetworking网络请求源码精讲(二) -- POST操作
AFNetworking POST操作网络请求部分,我们上一片分析了GET请求源码部分,通过这篇我们来了解关于POST请求的源码部分,其实POST和GET实现过程是一样的就是中间处理部分会出现略微差异。POST操作- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(nullable id)parameters headers:(nullable NSDictionary <NSString *, NS
2020-05-09 14:16:42
926
原创 AFNetworking网络请求源码精讲(一) -- GET操作
AFNetworkingAFNetworking是一款优秀的网络请求框架,从这篇文章开始,我们一起来看关于AFNetworking常用的源码解析。通常,在网络请求中,我们会进行GET和POST操作,面对这种方式,系统提供了NSURL和NSURLRequest来实现GET和POST请求。系统方式: NSURL *url = [[NSURL alloc] initWithString:@"htt...
2020-05-07 09:14:11
521
原创 Masonry布局源码精讲(三) -- 链式布局
链式布局之前我们分析了如何实现链式编程,并且大致了解了链式编程思想在开发中的好处。通过这篇文章,我们来看一下Masonry作为经典的链式编程思想是如何设计的,我们拭目以待。Masonry布局设置- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute { return ...
2020-05-06 09:01:07
253
原创 JQueryWeb一款神奇的IOS JQuery框架
JQueryWebJQueryWeb下载: GitHub.JQueryWeb是一款可以实现Web开发中JQuery和JavaScript无缝转换的操作,这是一款适用于Objective-C的开发框架。我们致力于使得网页修改过程变得更加快捷和稳定。JQueryWeb是一个轻量级的Web框架,它更好的还原了JQuery语法形式,采用链式编程思想,使得开发更有效率,从而使得代码更简介易读。JQue...
2020-04-30 11:30:23
256
原创 Masonry布局源码精讲(二) -- MASConstraintMaker
MASConstraintMaker上一篇,我们了解了链式编程的基本思想,从这篇开始,我们通过Masonry来更深刻的理解链式编程思想。先来看这个代码片,我们从mas_makeConstraints入手来深入源码的学习。[yellowV mas_makeConstraints:^(MASConstraintMaker *make) { /** * 链式方法...
2020-04-28 08:56:46
881
原创 Masonry布局源码精讲(一) -- 链式编程思想
链式编程思想Masonry常用使用方式Block基本思想链式编程思想带参数的Block链式操作Masonry常用使用方式 UIView *yellowV = [[UIView alloc] init]; [yellowV setBackgroundColor:[UIColor yellowColor]]; [self.view addSubview:yellowV]; ...
2020-04-26 09:19:48
276
原创 SVProgressHUD源码精讲(二) -- Dismiss
SVProgressHUD Dismiss前面一篇,我们分析了SVProgressHUD显示的源码部分,结尾处还留有dismiss方法,这篇文章,我们一起来看一下dismiss方法的具体分析。源码这里可以清晰的看到,dimiss做了一层封装,实际上需要调用dimissWithDelay: completion:方法实现取消操作。- (void)dismiss { [self dis...
2020-04-23 16:44:09
399
原创 SVProgressHUD源码精讲(一) -- Showing the HUD
Showing the HUD(显示弹框)从这篇文章开始我们开始分析另一个常用的框架SVProgressHUD,这个框架类似于MBProgressHUD效果,可以出现一个模态框。使用场景:登陆界面,加载界面等多种与用户交互的界面效果图如下基本show显示+ (void)show;+ (void)showWithStatus:(NSString*)string;先来看最简单的s...
2020-04-22 09:27:44
485
原创 ReactiveCocoa源码精讲(五) -- 终结篇
ReactiveCocoa终结篇前面四篇文章我们分析了RAC的常用的基本用法和源码实现。今天,是关于RAC源码分析的最后一篇文章。今天介绍的两个类是RACMulticastConnection和RACCommand,这两个使用在现实开发中有着至关重要的作用,尤其是网络请求案例。RACMulticastConnection使用方法://1.创建信号 RACSignal *signal...
2020-04-21 19:58:09
151
原创 ReactiveCocoa源码精讲(四) -- 集合操作
RAC集合操作前三篇我们已经基本了解RAC信号的创建,订阅和发送源码,今天我们来看一下关于RAC对集合做的自己的封装,看看它到底是如何进行操作的。RAC数组操作我们在学习RAC之前如果需要遍历一个数组的基本操作如下(我们这里使用forin就好了): NSArray *numbers = @[@1,@2,@3,@4]; for (id num in numbers) { ...
2020-04-20 08:56:58
137
原创 ReactiveCocoa源码精讲(三) -- RACReplaySubject
RACReplaySubject前面两篇文章,我们已经了解到了关于RACSignal和RACSubject的源码部分,并且,也已经了解这两个创建信号的方式的区别,今天我们来看一个RACSubject的相似类RACReplaySubject,这个类和之前类有什么区别???我们一个拭目以待!!!实现代码 //1.重复信号 RACReplaySubject *replaySubject =...
2020-04-16 21:22:04
124
原创 ReactiveCocoa源码精讲(二) -- RACSubject
RACSubject上文中,我们了解了RACSignal类创建信号订阅信号发送信号的过程分析。我们今天来观察另一个创建的方法,RACSubject创建信号。RACSubject创建信号RACSubject继承自RACSignal@interface RACSubject : RACSignal <RACSubscriber>/// Returns a new subject...
2020-04-15 09:32:19
204
原创 ReactiveCocoa源码精讲(一) -- RACSignal
RacSignalReactiveCocoaRACSignal使用代码RacSingal源码分析RACSignal 创建信号RACDynamicSignal 创建信号subscribeNext 订阅信号一旦订阅了信号,此信号就从冷信号变成了热信号。subscribe 订阅订阅者sendNext 发送信号实现图![RACSignal](https://img-blog.csdnimg.cn/2020...
2020-04-14 09:54:56
377
原创 Shell封装虚拟IP地址
Shell封装虚拟IP地址虚拟IP地址虚拟IP地址的作用(VIP)Shell脚本运行图实现思路获得传入参数如何插入一段漂亮的代码片有些参数需要获得额外描述shell脚本规范化需要帮助文档,这里面使用-h来帮助用户使用考虑对ip addr的一个简单封装考虑IP地址的有效范围表示形式子网掩码的使用开发Shell VIPGitHub下载地址虚拟IP地址你好! 这是你第一次使用 Markdown编辑器...
2020-04-05 11:41:57
383
2
JQueryWeb.zip
2020-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人