自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iOS逆向与安全

“订阅”一次 ,享受终身服务的快乐。微信公众号:iOS逆向

  • 博客(664)
  • 资源 (55)
  • 论坛 (1)
  • 收藏
  • 关注

原创 iOS应用逆向与安全-专栏总目录(持续更新)

文章目录引言I、概述1.1 基本概念1.2 环境搭建1.3 常用逆向分析工具的原理及使用1.4 正向知识储备II iOS逆向进阶2.1.2 模拟鼠标点击2.1.3 LUA2.1.4 分析网络数据包2.1.5 日志分析III、案例实战3.1 ASOIV、 安全保护4.1 脱敏规范4.2 接口安全4.2.1 接口安全设计的Checklist引言欢迎大家来到#公众号:iOS逆向的《iOS应用逆向与安全》专栏本文列出学习大纲,同时也可作为大家学习《iOS应用逆向与安全》专栏的索引。文中的蓝字都是

2021-01-16 16:44:21 1915 2

原创 iOS基础-专栏总目录(持续更新)

文章目录引言I、 上架指南II、 系统适配iOS14适配iOS13适配III、 注册/登陆基础模块3.1 《用户协议及隐私政策》弹框3.2 处理用户输入内容IV、 支付基础知识V、 数据存储VI、 地理信息处理VII、 系统控件的基本使用及常见问题的解决方案VIII、 数据提交IX、 测试技巧X、 自定义视图see also引言欢迎大家来到#公众号:iOS逆向的《iOS基础》专栏本文列出学习大纲,同时也可作为大家学习《iOS基础》专栏的索引。文中的蓝字都是传送门,点击进入即可Basic

2021-01-16 09:55:27 3163 4

原创 iOS进阶专栏- 总目录(持续更新)

引言欢迎大家来到#公众号:iOS逆向的《iOS进阶》专栏本文列出学习大纲,同时这也可以作为大家学习iOS进行这个专栏的索引。文中的蓝字都是传送门,点击进入即可进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)iOS图片压缩compress【解决压缩之后图片模糊的问题】iOS14适配【 读取用户剪切板数据会弹出提示】1、 查找哪些SDK使用了剪切板,及时升级SDK2、先判断剪切板内容的各式,如果符合规则才读取剪切板1.0 自定义相机手持证

2021-01-14 17:38:48 2644 6

原创 本博客精品专栏汇总:【《iOS进阶》、《iOS应用安全与逆向》、《Java开发的深入浅出》】(持续更新)

文章目录前言I、 iOS进阶II、iOS逆向III、 javaIV 、iOS基础前言“订阅”一次 ,享受终身服务的快乐订阅任意专栏,享有全部专栏I、 iOS进阶进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)iOS14适配汇总:【1、隐私权限相关:定位、相册、IDFA 2、KVC相关:不允许访问 UIPageControl的pageImage3、UIView相关适配:UITableViewCell兼容等】II、iOS逆向III、 java

2021-01-08 16:55:08 40657 5

原创 iOS自定义相机(带拍摄区域边框、半透明遮罩层、点击屏幕对焦、自动裁剪): 1、身份证正反面相机(加一个长方形的框框并裁剪身份证照片) 2、手持证件照相机(含demo源码)

IV、自定义相机: 加一个长方形的框框并裁剪身份证照片需求: 拍身份证的时候加一个长方形的框框功能目的:人脸比对,需要比对正面照和持证照,正面照如果是竖的话,会比对不上,因此拍照保存的照片要正向保存。目前产品没要求做边缘识别,代理商业务员能大概按样例图拍就行4.0 demo 源码demo 源码CaptureIDPic/** 回调照片的block */typedef void(^ImageBlock)(UIImage *image);@interface CRMCaptu

2021-01-07 14:42:11 4590 3

原创 iOS app因蓝牙功能隐蔽而导致上架被拒绝的解决方案

文章目录前言I 、蓝牙权限被拒绝上架的案例1.1 解决方案II、 see also前言本文主要记录一次关于蓝牙权限被拒绝上架的问题。另外如果读者也维护公众号的话,告诉你个好消息:可以将创建过的话题标签配置在公众号主页,详见文末。I 、蓝牙权限被拒绝上架的案例拒绝原因Your app declares support for bluetooth-central in the UIBackgroundModes key in your Info.plist but does not prov

2021-01-06 11:13:12 88

原创 1、iOS扫描证件documentCameraViewController 2、身份证识别 (正反) 3、矩形边缘识别 4、自定义相机: 加一个长方形的框框并裁剪身份证照片 (含demo源码)

文章目录前言源码demosee also前言效果源码democode- (IBAction)scanReceipts:(id)sender { //Cria uma instancia da Classe de Leitura de Docs da Vision, e abre ela VNDocumentCameraViewController *documentCameraViewController = [[VNDocumentCameraViewControl

2020-12-15 12:02:58 22808 5

原创 Basic debugging using logging for iOS apps.& Customizing Process Stack Size

文章目录前言I 、 DEBUG 宏的应用1.1 发布模式关闭NSLogII、 NSLog调试技巧2.1 Objective-C's boxing capability (`装箱`快速构造数字对象)2.2 知识补充:装箱和拆箱see also前言本文demoI 、 DEBUG 宏的应用应用场景:区分调试模式和发布模式进行特殊处理自定义preprocessor macro:The DEBUG preprocessor macro setting in an Xcode projec

2020-11-11 15:45:16 16217

原创 进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)

文章目录前言I 、方案案例:local socket1.1 基础知识: Socket 通讯过程1.2 serverSocket1.3 clientSocket1.4 完整demosee also前言文章作者文章标题文章链接kunnan进程间的实时通讯blog url如果你对IPC不了解,可以先看下这篇- Inter process Communication登录 iTunes Store 这个输入框的弹出流程是由itunesstored 控制,process:Sp

2020-11-11 11:52:18 17354 4

原创 iOS处理语言的强大工具CFStringTransform : 智能地处理用户的输入内容,经典应用场景【索引】

文章目录前言I、 CFStringTransform 初识1.1 Transform identifiers1.1.1 不同拼写之间的转换1.1.2 去掉重音和变音符号1.1.3 找出特殊字符的 Unicode 标准名II、例子:通讯录索引前言通过对用户输入内容,利用CFStringTransform变换,可以轻松实现实现一个通用的搜索index搜索内容可以是多语言的I、 CFStringTransform 初识很明显CFStringTransform 是 Core Foundation

2020-11-10 17:31:08 10948

原创 iOS逆向工具Cliclick【Mac 模拟鼠标点击工具】应用场景:(定时点击特定位置,来点击保证Mac永远处于活跃状态,达到mac永不关闭屏幕的目的)

文章目录前言I、安装方式II 使用方式2.1 获取位置的坐标2.2 点击指定位置坐标2.3 坐标系see also前言本文的例子是定时点击特定位置,来点击保证Mac永远处于活跃状态,达到mac永不不关闭屏幕的目的先来了解下安装和使用方法I、安装方式Homebrew包管理器 : brew install cliclick下载安装包 https://www.bluem.net/en/projects/cliclick/ 自己编译源码II 使用方式2.1 获取位置的坐标打印当

2020-10-07 14:14:46 4152 3

原创 iOS本地化字符串指定参数顺序(应用场景:app内的多语言切换)

文章目录前言I 、 例子1.1 效果see also前言完整的demo源码对于在中英文语法的区别,在本地化字符串的时候,我们常常需要调整stringWithFormat的参数顺序原理:在%和@中间加上1,2,2,2等等就可以啦,数字代表参数的顺序。I 、 例子 self.FORMATLab.text = [NSString stringWithFormat:KNLocal(@"FORMAT", nil), @"csdn", @"https://kunnan.blog.csdn.

2020-09-25 11:33:35 24523 1

原创 iOS14适配汇总:【1、隐私权限相关:定位、相册、IDFA 2、KVC相关: UIPageControl的pageImage3、UIView相关:UITableViewCell兼容;4、网络相关】

文章目录前言I、权限相关的适配II、KVC相关的适配III、UIView相关的适配前言I、权限相关的适配iOS14 隐私适配:【定位授权新增了精确和模糊定位 可根据不同的需求设置不同的定位精确度】向用户申请临时开启一次精确位置权限的方案(不同场景可定义不同purposeKey)II、KVC相关的适配iOS14 适配:【KVC 不允许访问 UIPageControl的pageImage】解决方案: 自定义PageControIII、UIView相关的适配iOS14适配【 全局解UITa

2020-09-19 16:46:02 106217 3

原创 iOS14适配【 采用hook全局性地解决UITableViewCell兼容问题】往cell添加子视图的方式不规范,导致contentView 置于自定义控件的上层,引发界面无响应(注意处理相关方法)

文章目录I、问题分析II、使用方法交换,全局修改see also今天升级最新IDE Xcode,准备适配iOS14 API,结果发现app首页的cell中按钮也无法点击了。I、问题分析iOS14 UITableViewCell的子试图不能点击或者滑动等手势响应问题,发现有问题的cell基本都是直接cell.addSubView(tempView1)这种方式添加的,通过试图分析发现被系统自带的UITableViewCellContentView遮挡在底部了,所以需要改规范的做法cell.con

2020-09-18 19:10:02 114710 4

原创 iOS app侧对请求参数进行签名:【请求参数按照ASCII码从小到大排序、拼接、加密】(递归的方式进行实现)

前言支付类app为了安全起见,除了使用【防代理】,还可采用签名的方式进一步进行限制防止请求和返回报文被修改。应用场景:在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序。I、步骤1.1 签名模式的前奏:按照参数名ASCII码从小到大排序并拼接[递归的方式进行实现]设所有发送或者接收到的数据为集合M,将集合M内的参数和参数值按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string

2020-08-24 11:46:27 11695

原创 iOS开发效率工具:完整SDK源码【封装富文本API,采用block实现链式编程】(block 的妙用:结合block和方法的优点实现iOS的链式编程)

前言block 的妙用:结合block和方法的优点实现iOS的链式编程-【 完整pod 仓库源码GitHub】主要针对段落样式NSMutableParagraphStyle和富文本NSMutableAttributedString进行封装代码效果 xx.kn_addString(@"封装富文本API").kn_fontColor(UIColor.redColor).kn_addString(@"采用block实现链式编程").kn_fontColor(UIColor.blueColor)

2020-08-06 16:39:58 21148 1

原创 【iOS 广告弹窗】(支持显示动画及调整广告比例)采用Masonry进行界面布局

前言效果图按照图片实际大小显示按照比例显示图片I 、 使用方法1.1 按照图片实际大小显示AdV CRMShowAdV *tmp = [[CRMShowAdV alloc] initWithBackgroundImage:[UIImage imageNamed:@"img_tanchuang_xiaochengxu"] delegate:self];1.2 比例显示- (CRMShowAdV*)AdV{ if(nil =

2020-08-04 15:59:38 19847

原创 iOS全/反选功能的自定义视图 【 应用场景:批量修改规格信息的条码、零售价、成本价、库存】采用MVVM

前言核心处理逻辑1、 处理全选状态的改变2、显示已经选中的商品数3、处理右侧的按钮事件(例如编辑条码、零售价、成本价、库存)视图效果由3部分组成,1、底部左侧的全选按钮2、底部右侧自定义collectionView: 包含条码、零售价、成本价、库存按钮3、顶部的已经选中的条数:已选XX条 noLabV效果图I、使用1.1 视图初始化1.1.0 底部视图的初始化- (ERPbatchEditSKUBottonV *)bottomV{ if (nil == _bott

2020-06-22 15:35:56 9026

原创 iOS ProductspecificationsTree 自定义cell 采用MVVM实现:【选择多级商品规格信息(树形,多选)】应用场景: 发布商品-添加多规格信息

前言效果使用- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ __weak __typeof__(self) weakSelf = self; ERPPlatProductSpecificationDto *model = self.viewModel.platProductAttributeAndSpeci

2020-06-19 17:27:24 8002

原创 1、iOS网络安全优化:SSL证书验证, Charles再也无法抓你的请求数据;对请求参数进行签名;2、不走全局proxy的方案;3、允许不验证SSL证书;4、拦截请求;5、DoH &DoT6、SDL

前言SSL证书验证, 让Charles再也无法抓你的请求数据不走全局proxy的方案允许不进行SSL证书验证I 、请求设置1.1 iOS 终于找到不走全局proxy的方案【 例如:隧道APP请求我们自己接口的都不走隧道】 //APP请求我们自己接口的都不走隧道 NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration]; co

2020-06-17 16:16:01 8254 2

原创 iOS 自定义cell:【筛选视图的树形多级商品分类】ProductCategoryTree

前言处理点击分类的事件的整体思路:判断是否有子分类:如果没有子分类则选中当前分类,有子分类就根据之前记下的标志open进行展开隐藏子分类处理开发步骤用法- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ ERPProductCategoryTreeDto *model = self.ProductCategorys[indexP.

2020-05-25 16:23:57 8621

原创 iOS图片压缩【解决压缩之后图片模糊的问题】

前言 图片的压缩其实是俩概念, 1、是 “压” 文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降, 2、是 “缩” 文件的尺寸变小,也就是像素数减少。长宽尺寸变小,文件体积同样会减小。 这个 UIImageJPEGRepresentation(image, 0.0),是1的功能。 这个 [sourceImage drawIn...

2020-04-09 16:54:50 21751

原创 iOS 优化登录流程:【1、打开app,如果 token不过期,就使用最近一次登录的token进行接口请求2、优化token的存储方式:(之前只是存储在内存,每次打开app都会重新登录)】

前言注意事项登录账号得到的token信息。最好不要作为一个独立的单利对象存储;而是将它作为单例对象的属性userInfo,便于切换账号存储token和其他账号信息如果之前是使用独立的单利对象UserInfoModel ,为了兼容代码可以这么做/** 登录账号得到的token信息。最好不要作为一个独立的单利对象存储;而是将它作为单例对象的属性userInfo,便于切换账号存储token...

2020-03-30 18:58:45 22263

原创 iOS MultipleSwitch :segment功能,label混合显示;【tab滑块 Slider 双区间】SwitchButton

前言需求:商户交易汇总表优化 使用tab滑块 进行切换数据Use初始化控件/** 本级代理商数据 下级代理商数据 */- (CRMMultipleSwitch *)MultipleSwitch{ if (nil == _MultipleSwitch) { CRMMultipleSwitch *switch1 = [[CRMMultipleSwi...

2020-03-24 17:27:21 19389

原创 iOS 崩溃排查技巧:symbolicatecrash符号化分析问题、根据 iOS 崩溃日志的版本号信息获取对应系统库源码(根据OS Version寻找CURRENT_PROJECT_VERSION)

前言dSYM 是什么?Xcode 每次编译app代码后生成的 dSYM 文件dSYM 文件里存储了函数地址映射,这样调用栈里的地址可以通过 dSYM 这个映射表能够获得具体函数的位置。一般都会用来处理 crash 时获取到的调用栈 .crash 文件将其符号化获取dSYM符号表方法Window——>Organizer"选择对应版本的 Archive 包,“右键——>S...

2020-03-20 10:33:04 8162 1

原创 iOS解决筛选视图的蒙蔽挡住视图的方案【例子:筛选视图的蒙蔽挡住横屏电子签名界面的问题(横屏的时候才会重现)】

前言问题的具体描述:首次跳转到采集签名页面,有一半,屏幕是暗的,点击屏幕后才正常. 且这样的情况下查看商户协议和确认签名按钮无法点击.重现方法:从商户列表去新增进件的商户另外:之前我这边无法重现是因为,我一直都是直接从工作台的商户进件入口去签名的。其他控制器没有这个问题,是因为其他视图不是横屏,所以也无法重现。问题的原因:商户列表的筛选视图和蒙蔽居于keyWindow的顶部视图...

2020-03-13 12:47:14 20705

原创 iOS电子签名下篇(内含demo源码)【核心原理: 只旋转特定的屏幕】 核心步骤:1、viewWillAppear设置横屏2、viewWillDisappear 设置竖屏

前言app的电子签名界面,需要横屏code- (void)createView{ [self signV];// 先执行自动约束,在切换横屏 //push过来,设置横屏 NSNumber *orientationUnknown = [NSNumber numberWithInt:UIInterfaceOrientationUnknown]; ...

2020-03-11 14:53:12 20881 1

原创 iOS13适配汇总:1、present半屏问题2、禁止 KVC访问UI控件私有API 3、 暗色模式开发规范、4、设置状态栏背景颜色的方案:使用statusBarManager 5、不使用场景的方案

I、 适配第三方库在iOS13的问题:1.1) : 升级腾讯的第三方UI框架,解决iOS13 无法访问私有属性的问题II、 适配iOS13UI控件的API :(涉及的模块有登录)2.1)UITextField的_placeholderLabel属性:无法直接访问_placeholderLabel.textColor解决方案: 使用 NSMutableAttributedString 富文本...

2020-03-05 13:43:46 22451

原创 git merge用法、常用git脚本:针对GitHub的master 更名进行脚本调整(master 更名为main,例如push 需改为git push -u origin main)

合并分支到主干➜ retail git:(master) #切换回master分支git checkout master# merge --no-ff参数,表示禁用Fast forward;可以保存你之前的分支历史。能够更好的查看merge历史,以及branch 状态.#保证版本提交、分支结构清晰git merge --no-ff develop#pushgit pu...

2020-02-29 13:02:39 19500 1

原创 适配IOS13API :“KVC访问私有属性”【 -[_UINavigationBarContentView setDirectionalLayoutMargins:], /】

前言升级Xcode之后,今天在iOS13中打开app的时候闪退,错误信息是*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Client error attempting to change layout margins of a private view'***...

2020-02-12 12:35:56 20374

原创 iOS 自定义视图:《用户协议及隐私政策》弹框(包含超链接属性)【本文包含完整demo源码,demo支持中英文切换】

code//新增超链接属性 //新增超链接属性 [attrStr addAttribute:NSLinkAttributeName value:k_serviceAgreement_URL range:str4Range]; [attrStr addAttribute:NSLinkAttributeName value:k_ser...

2020-01-09 10:41:48 41602 1

原创 【iOS APP 内的国际化切换】1、字符串的本地化、2、自定义解析本地化字符串的工具类LanguageManager、3、例子:登录界面切换中英文(内含demo)

前言应用内切换语言生效的技术实现方法销毁根控制器,重新进入一次(采用)通过发通知,到各个控制器更新文字(不采用)用法 [LBAlertController showAlertTitle:QCTLocal(@"tips") content:QCTLocal(@"str_cann_printer") cancelString:QCTLocal(@"cancel") canc...

2019-12-27 16:10:12 19635

原创 iOS NotificationServiceExtension实现VoiceBroadcast【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台或者被杀死无法语音播报的解决方案

前言想要消息推送的消息在Service Extension中被处理,需要aps 中包含mutable-content : 1 的内容. 测试消息推送的时候,以极光为例,需要记得在高级设置开启mutable-content。 aps = {alert = { body = 11; subtitle = 111; title = "111...

2019-12-25 17:07:19 23849

原创 1、浏览器页面的渲染过程:HTML(包括静态资源)的加载、解析、构建、渲染、布局、绘制、合成、呈现 2、Event Loop 解决JS单线程运行阻塞的机制 3、性能优化(减少回流和重绘)

## 1.1 关键渲染路径指浏览器从最初接收的响应数据(HTML、CSS、JS等资源),然后`解析、构建、渲染、布局、绘制、合成,到最后呈现`的整个过程。

2019-03-28 11:02:13 20146

原创 信息论基础知识:【信息熵 &不确定性】

前言传播同一则信息,信息的量好像弹性空间很大,我们应该如何测一测这个信息的量呢?如果这个信息的量是可测,那么要传递一条信息,有没有量的下限呢?也就是说,我们至少要用去多少个单位量才能完整表达这条信息呢?我们甚至还可以进一步想,要传递一条信息最少需要多少卡路里的能量呢?信息熵信息熵代表了一个黑盒子中的不确定性,或者说,要搞清楚这个黑盒子的秘密所需要的信息。(例子:怎么用鼓点准确传达消息呢?方...

2019-01-23 16:58:04 20042

原创 iOS文本长度计算【中文占1,英文等能转ascii的占0.5】常常应用于对文本输入框的个数限制

前言以中文占1,英文等能转ascii的占0.5 方式计算,并控制用户输入的个数。code计算方式+ (CGFloat)configTextCountWithStr:(NSString *)s{ // NSInteger MaxNumberOfDescriptionChars = _model.titleMaxCount; int i;CGFloat n=...

2019-01-14 17:05:49 19105

原创 iOS RestrictedInput【限定文本输入框输入特定最大的字符个数及截取前N个字符】 iOS限制字符串输入(汉字\英文、数字)

code@interface UserEnterView()<UITextFieldDelegate>{ CGFloat _subLength;}采用通知监听UITextFieldTextDidChangeNotification, 比代理方法UIControlEventEditingDidEnd 来的好用些 [[NSNotificationCent...

2019-01-08 14:11:39 19607

原创 【iOS打印价格标签的模板及打印小票的模版、 实现自动连接最近使用的打印机】 (针对佳博GP-2120TU型号) 包含完整的 demo 源码

code获取打印命令-(NSData *)price_tscCommand{ TscCommand *command = [[TscCommand alloc]init]; [command addSize:40 :60]; [command addGapWithM:2 withN:0]; [command addReference:0 :0]; ...

2019-01-03 11:26:14 10630

原创 iOS计算器:采用NSDecimalNumber 进行表达式的精准计算(计算字符串数学表达式)【案例:折扣计算器(完整demo源码)】

前言之前使用NSExpression 进行表达式的计算,发现如果一个问题:无法精准小数点位数(1+65 和65+1 的精度就不一样)正文现在采用的是 qddnovo/MathStringExpressionsee alsoNSExpression expression = [NSExpression expressionWithFormat:floatString]...

2018-12-03 16:02:56 8410 1

原创 iOS 常用动画【 定点缩放弹窗】利用锚点anchorPoint进行实现(包含完整demo源码)

CGAffineTransformMakeScale & setAnchorPoint /* (0,0) 为左上角,(0,1) 为左下角, (1, 0)右上, (1,1) 右下 */ CGRect oldFrame = self.frame ; [self.layer setAnchorPoint: CGPointMake(

2018-11-29 10:51:11 19919

iOS电子签名【核心原理: 只旋转特定的屏幕】应用场景:采集电子签名,支持签名界面为横屏其余页面都是竖屏、清除重写、灵活控制提示语信息、以及查看商户协议

原理文章:https://kunnan.blog.csdn.net/article/details/104796781 功能:采集电子签名,支持签名界面为横屏其余页面都是竖屏、清除重写、灵活控制提示语信息、以及查看商户协议 核心原理: 只旋转特定的屏幕 核心步骤:1、viewWillAppear设置横屏2、viewWillDisappear 设置竖屏 用法简单采用block回调电子签名图片

2021-01-08

iOS身份证正反面相机(带拍摄区域边框、半透明遮罩层、支持点击屏幕对焦、自动裁剪出所需大小)

原理文章:https://kunnan.blog.csdn.net/article/details/112309871 需求背景:人脸比对需要比对正面照和持证照,正面照如果是竖的话,会比对不上,因此拍照保存的照片要正向保存 功能:带拍摄区域边框、半透明遮罩层、支持点击屏幕对焦、自动裁剪出所需大小

2021-01-08

iOS手持证件照相机:【拍身份证裁剪大小,截图截出所需大小】(带拍摄区域边框及半透明遮罩层)

原理文章:https://kunnan.blog.csdn.net/article/details/112311308 手持证件照的裁剪算法:根据图片方向进行裁剪) 屏幕适配:为了避免框框视图的frame超出视图范围,导致半透明黑色遮罩无法渲染maskLayer;框框视图的布局采取宽为屏幕宽度,高按照比例进行计算

2021-01-07

iOS开发效率工具【封装富文本API,采用block实现链式编程】(block 的妙用:结合block和方法的优点实现iOS的链式编程)

原理文章:https://kunnan.blog.csdn.net/article/details/107835195 block 的妙用:结合block和方法的优点实现iOS的链式编程 功能:主要针对段落样式NSMutableParagraphStyle和富文本NSMutableAttributedString进行封装,提升开发效率

2021-01-07

收银app必备模块:【收银台】iOS折扣计算器:采用NSDecimalNumber 进行表达式的精准计算(计算字符串数学表达式)

原理文章:https://kunnan.blog.csdn.net/article/details/84769730 背景:之前使用NSExpression 进行表达式的计算,发现一个问题:无法精准小数点位数(1+65 和65+1 的精度就不一样) 解决方案:采用的是NSDecimalNumber 进行计算

2021-01-07

iOS 自定义视图:《用户协议及隐私政策》弹框(包含超链接属性)【demo源码支持中英文切换】

原理文章:https://blog.csdn.net/z929118967/article/details/103902362 功能使用:点击demo的右上架文字进行中英文切换 《用户协议及隐私政策》 弹框的实现步骤: 1、自定义TextView,采用富文本属性进行内容设置attributedText(包括下划线NSUnderlineStyleSingle、超链接NSLinkAttributeName 、颜色NSForegroundColorAttributeName 等信息) 2、实现代理方法textView:shouldInteractWithURL:inRange,处理点击超链

2021-01-05

处理ios12.1以上系统,后台消息推送语音播报问题:【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台或者被杀死无法语音播报的解决方案

对应原理文章:https://blog.csdn.net/z929118967/article/details/103702284(内含细节注意和常见问题) iOS NotificationServiceExtension实现VoiceBroadcast,处理ios12.1以上系统,后台消息推送语音播报问题:【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台或者被杀死无法语音播报的解决方案

2021-01-05

Mac OS X ABI Mach-O File Format Reference.pdf

相关文章:https://blog.csdn.net/z929118967/article/details/78233554 iOS 可执行文件是 Mach-O 格式,主要由 Header、Load Commands、Data 三部分 Header 头部,包含可以执行的CPU架构,比如x86,arm64 Load commands 加载命令,包含文件的组织架构和在虚拟内存中的布局方式 Data数据,存储了实际的内容,主要是程序的指令和数据,它们的排布完全依照 Load Commands 的描述. 包含load commands中需要的各个段(segment)的数据 Mach-O 文

2020-12-30

基于JSP的学术交流论坛系统的设计与实现

本人的毕业论文,侵权必究。 学术交流论坛系统是按照MVC模式进行设计实现的,采用Tomcat作为后台服务器,以MySQL数据库作为数据服务器,使用SERVLET进行逻辑控制,表现层用JSP页面显示,用于在网络上为网民提供一个学术交流的场所.实现了查看、发表、删除帖子功能,论坛帖子版块控制,注册用户可以修改自己的个人信息、好友与黑名单以及用户之间发送消息,管理员可以对用户、帖子,版块、版块权限进行管理.论文从问题的提出、基本设计思想、数据的流向到具体的设计过程都做出了详细论述. 原文:https://kunnan.blog.csdn.net/article/details/30467047

2020-11-16

cliclick V4.0.1

iOS逆向工具Cliclick:Mac 模拟鼠标点击工具。例子(定时点击特定位置,来点击保证Mac永远处于活跃状态,达到mac永不不关闭屏幕的目的) https://blog.csdn.net/z929118967/article/details/108949981

2020-10-09

iOS14 iPhone6S 已可越狱,使用checkra1n 工具

Q: How do I use it? A: Open the checkra1n app, and follow the instructions to put your device into DFU mode. Hax happens auto-magically from that point and the device will boot into jailbroken mode. If you reboot the device without checkra1n, it will revert to stock iOS, and you will not be able to

2020-09-24

Xcode iOS14.0 真机调试包,这样可以避免升级Xcode12

1、升级Xcode需要预留40G的磁盘空间,如果只是想真机调试iOS14,可以使用此包,避免升级Xcode12 2、path :/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 3、重启Xcode

2020-09-18

Xcode 常用的 CodeSnippets 代码块

使用方法:解压放入 ~/Library/Developer/Xcode/UserData/CodeSnippets 即可

2020-09-17

Xcode iOS13.6 和13.7的 真机调试包,这样可以避免升级Xcode。

1、Xcode iOS13.6 和13.7的 真机调试包,这样可以避免升级Xcode。 2、path :/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 3、重启Xcode

2020-09-09

mysql-max-5.1.4-alpha-linux-i686-glibc23.tar.gz

mysql-max-5.1.4-alpha-linux-i686-glibc23.tar.gz

2014-07-11

ghost32 11.0.7z

错的工具,让你感觉回到了DOS时代,大名鼎鼎的硬盘备份工具,它可以把一个磁盘上的全部内容复制到另外一个磁盘上,也可以把磁盘内容复制为一个磁盘的镜像文件,以后你可以用镜像文件创建一个原始磁盘的拷贝。它可以最大限度地减少你每次安装 windows xp\2003等操作系统的时间,如果你有好几台配置相似的机器需要安装 xp系统,你可以在一台机器上装好一次之后,其他机器就只要直接ghost 一次了,配置都可以省了

2014-07-05

PlSqlDev.exe

PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。

2014-06-29

java面试.pdf

java面试题集, Java 面试题整理 java面向对象 三大框架

2014-06-29

Altova.XMLSpy

一个XML编辑器,功能很强大,可以连接数据数据库、SOAP等功能

2014-06-29

javascript笔记.

 基本用途 1.客户端验证。 2.通过验证提高数据的完整性以及安全性。 3.能被浏览器进行解释,是一种解释性语言。受浏览器的影响。【在不同的浏览器可能表现的效果不一样,另外在开发过程中及时清理缓存】 4.使用场所:任何的HTML页面、所有的动态页面。 5.提高用户体验性。 6.JAVASCRIPT跨平台语言。 7.JAVASCRIPT是一种事件编程语言,需要有事件触发,以属性形式【onclick、onmouseover等】  框架 JQuery、ExtJS、YUI、百度JS框架

2014-06-29

人月神话.pdf

在很多方面,管理一个大型的计算机编程项目和其它行业的大型工程很相似——比大多数程序员所认为的还要相似;在很多另外的方面,它又有差别——比大多数职业经理所认为的差别还要大

2014-06-29

Java 2 认证考试指南(中文第3版).pdf

内容包括:类层次的设计和实现,类、方法和Java applet的使用及创建,因特网客户/服务器程序的编写,使用Java 访问数据库等等

2014-06-29

PlSqlDev.exe的注册机

PlSqlDev.exe的注册机 不错的注册机

2014-06-29

Java夜未眠.chm

Java 是 Sun Microsystems 公司在 1995 年中推出的一套程序语言兼平台。通常我们以 JDK(Sun 所开发的一套 Java 开发工具)的版本来定义 Java 的版本。JDK 1.0 版于 1996 年初公开,JDK 1.1 版于 1997 年初公开,JDK 1.2 版于 1998 年底公开。基于市场行销的考量,Sun 在 JDK 1.2 版公开后旋即将 Java 改名为「Java 2」,将 JDK 改名为「Java 2 Software Development Kit(以下简称 J2SDK)」。J2SDK(原称 JDK)1.3 于 2000 年 4 月公开,此版本仍称做「Java 2」。

2014-06-29

MyEclipseGen.java

一个破解myEclipse的工具,只需要运行此代码即可

2014-06-29

jquery-1.4.3.js 源码

Jquery是继prototype之后又一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML

2014-06-29

J2EE&Servlet.doc

① Web服务器 IIS服务器。 Tomcat(JAVA开源、6M),Glassfish、JBoss、Weblogic(1G) ② Tomcat Tomcat 6.0【安装版、绿色软件版】apache-tomcat6.tar.gz 服务器:1.就是一台主机 2.软件 ③ 文件夹 Bin:启动脚本、关闭脚本以及其他脚本。 Bat:批处理问题 Sh:Shell编程 Startup.bat 启动服务器 Shutdown.bat 关闭服务器 第一次启动时,将需要设置JAVA_HOME,指向JDK文件夹 Conf: Server.xml用于配置端口号。Tomcat默认端口号8080 如何进入Tomcat页面? http://localhost:8080/

2014-06-29

jstl,的jar包

JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。

2014-06-29

java面试宝典.pdf

这套面试题主要目的是帮助那些还没有java 软件开发实际工作经验,而正在努力寻找java 软件开发工 作的朋友在笔试时更好地赢得笔试和面试。由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一 天两天就看完和学完这套面试宝典,即使你已经学过了有关的技术,那么至少也需要一个月的时间才能消 化和掌握这套面试宝典,所以,大家应该早作准备,从拿到这套面试宝典之日起,就要坚持在每天闲暇之 余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。

2014-06-29

张孝祥java就业面试宝典.chm

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他。

2014-06-29

125条常见的java面试笔试题大汇总

1.抽象:   抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:   继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

2014-06-29

jsp简介文档

JSP:页面文件,动态页面。 JSP:JAVA Server Page,是服务器端一种基于JAVA语言的网页技术,所有程序操作都是在服务端执行,网络上传送的仅仅是运行的结果。运行的结果与浏览器无关,但是发送的结果在不同浏览器展示的效果有差别。 HTML+CSS+JAVASCRIPT+JAVA+JSP标签==JSP

2014-06-29

三大框架文档

目录 2.MVC 3.STRUTS2解析 4.标签 5.OGNL 6.国际化 7.类型转换 8.校验 9. 拦截器 10.上传与下载 11.STRUTS2与对JSON的支持

2014-06-30

jquery1.7.chm

jQuery 核心函数 jQuery([sel,[context]]) jQuery(html,[ownerDoc]) jQuery(callback) jQuery.holdReady(hold)1.6+ jQuery 对象访问 each(callback) size() length selector context get([index]) index([selector|element]) 数据缓存 data([key],[value]) removeData([name|list])1.7* $.data(element,[key],[value]) 队列控制 queue(element,[queueName]) dequeue([queueName]) clearQueue([queueName]) 插件机制 jQuery.fn.extend(object) jQuery.extend(object) 多库共存 jQuery.noConflict([ex]) 属性 属性 attr(name|pro|key,val|fn) removeAttr(name) prop(name|pro|key,val|fn)1.6+ removeProp(name)1.6+ CSS 类 addClass(class|fn) removeClass([class|fn]) toggleClass(class|fn[,sw]) HTML代码/文本/值 html([val|fn]) text([val|fn]) val([val|fn|arr]) CSS CSS css(name|pro|[,val|fn]) 位置 offset([coordinates]) position() scrollTop([val]) scrollLeft([val]) 尺寸 heigh([val|fn]) width([val|fn]) innerHeight() innerWidth() outerHeight([soptions]) outerWidth([options]) 选择器 基本 #id element .class * selector1,selector2,selectorN 层级 ancestor descendant parent > child prev + next prev ~ siblings 基本 :first :last :not(selector) :even :odd :eq(index) :gt(index) :lt(index) :header :animated :focus1.6+ 内容 :contains(text) :empty :has(selector) :parent 可见性 :hidden :visible 属性 [attribute] [attribute=value] [attribute!=value] [attribute^=value] [attribute$=value] [attribute*=value] [attrSel1][attrSel2][attrSelN] 子元素 :nth-child :first-child :last-child :only-child 表单 :input :text :password :radio :checkbox :submit :image :reset :button :file :hidden 表单对象属性 :enabled :disabled :checked :selected 文档处理 内部插入 append(content|fn) appendTo(content) prepend(content|fn) prependTo(content) 外部插入 after(content|fn) before(content|fn) insertAfter(content) insertBefore(content) 包裹 wrap(html|ele|fn) unwrap() wrapall(html|ele) wrapInner(html|ele|fn) 替换 replaceWith(content|fn) replaceAll(selector) 删除 empty() remove([expr]) detach([expr]) 复制 clone([Even[,deepEven]]) 筛选 过滤 eq(index|-index) first() last() hasClass(class) filter(expr|obj|ele|fn) is(expr|obj|ele|fn)1.6* map(callback) has(expr|ele) not(expr|ele|fn) slice(start,[end]) 查找 children([expr]) closest(expr,[con]|obj|ele)1.6* find(expr|obj|ele) next([expr]) nextall([expr]) nextUntil([exp|ele][,fil])1.6* offsetParent() parent([expr]) parents([expr]) parentsUntil([exp|ele][,fil])1.6* prev([expr]) prevall([expr]) prevUntil([exp|ele][,fil])1.6* siblings([expr]) 串联 add(expr|ele|html|obj[,con]) andSelf() contents() end() 事件 页面载入 ready(fn) 事件处理 on(eve,[sel],[data],fn)1.7+ off(eve,[sel],[fn])1.7+ bind(type,[data],fn) one(type,[data],fn) trigger(type,[data]) triggerHandler(type, [data]) unbind(type,[data|fn]) 事件委派 live(type,[data],fn) die(type,[fn]) delegate(sel,[type],[data],fn) undelegate([sel,[type],fn]) 1.6* 事件切换 hover([over,]out) toggle(fn, fn2, [fn3, fn4, ...]) 事件 blur([[data],fn]) change([[data],fn]) click([[data],fn]) dblclick([[data],fn]) error([[data],fn]) focus([[data],fn]) focusin([data],fn) focusout([data],fn) keydown([[data],fn]) keypress([[data],fn]) keyup([[data],fn]) mousedown([[data],fn]) mouseenter([[data],fn]) mouseleave([[data],fn]) mousemove([[data],fn]) mouseout([[data],fn]) mouseover([[data],fn]) mouseup([[data],fn]) resize([[data],fn]) scroll([[data],fn]) select([[data],fn]) submit([[data],fn]) unload([[data],fn]) 效果 基本 show([speed,[easing],[fn]]) hide([speed,[easing],[fn]]) toggle([speed],[easing],[fn]) 滑动 slideDown([spe],[eas],[fn]) slideUp([speed,[easing],[fn]]) slideToggle([speed],[easing],[fn]) 淡入淡出 fadeIn([speed],[eas],[fn]) fadeOut([speed],[eas],[fn]) fadeTo([[spe],opa,[eas],[fn]]) fadeToggle([speed,[eas],[fn]]) 自定义 animate(param,[spe],[e],[fn]) stop([cle],[jum])1.7* delay(duration,[queueName]) 设置 jQuery.fx.off jQuery.fx.interval ajax ajax 请求 $.ajax(url,[settings]) load(url,[data],[callback]) $.get(url,[data],[fn],[type]) $.getJSON(url,[data],[fn]) $.getScript(url,[callback]) $.post(url,[data],[fn],[type]) ajax 事件 ajaxComplete(callback) ajaxError(callback) ajaxSend(callback) ajaxStart(callback) ajaxStop(callback) ajaxSuccess(callback) 其它 $.ajaxSetup([options]) serialize() serializearray() 工具 浏览器及特性检测 $.support $.browser $.browser.version $.boxModel 数组和对象操作 $.each(object,[callback]) $.extend([d],tgt,obj1,[objN]) $.grep(array,fn,[invert]) $.sub() $.when(deferreds) $.makearray(obj) $.map(arr|obj,callback)1.6* $.inarray(val,arr,[from]) $.toarray() $.merge(first,second) $.unique(array) $.parseJSON(json) 函数操作 $.noop $.proxy(function,context) 测试操作 $.contains(container,contained) $.type(obj) $.isarray(obj) $.isFunction(obj) $.isEmptyObject(obj) $.isPlainObject(obj) $.isWindow(obj) $.isNumeric(value)1.7+ 字符串操作 $.trim(str) URL $.param(obj,[traditional]) 插件编写 $.error(message) 关于 关于此jQuery中文文档 提交bug及获取更新 Deferred def.done(donCal,[donCal]) def.fail(failCallbacks) def.isRejected() def.isResolved() def.reject(args) def.rejectWith(context,[args]) def.resolve(args) def.resolveWith(context,[args]) def.then(doneCal,failCals) def.promise([type],[target])1.6+ def.pipe([donl],[fai],[pro])1.7* def.always(alwCal,[alwCal])1.6+ def.notify(args)1.7+ def.notifyWith(con,[args])1.7+ def.progress(proCal)1.7+ def.state()1.7+ Callbacks cal.add(callbacks)1.7+ cal.disable()1.7+ cal.empty()1.7+ cal.fire(arguments)1.7+ cal.fired()1.7+ cal.fireWith([context] [, args])1.7+ cal.has(callback)1.7+ cal.lock()1.7+ cal.locked()1.7+ cal.remove(callbacks)1.7+ $.callbacks(flags)1.7+ 其它 正则表达式

2014-05-31

jqueryApi\jquery1.7.chm

jQuery快速查询手册 jQuery 核心函数 jQuery([sel,[context]]) jQuery(html,[ownerDoc]) jQuery(callback) jQuery.holdReady(hold)1.6+ jQuery 对象访问 each(callback) size() length selector context get([index]) index([selector|element]) 数据缓存 data([key],[value]) removeData([name|list])1.7* $.data(element,[key],[value]) 队列控制 queue(element,[queueName]) dequeue([queueName]) clearQueue([queueName]) 插件机制 jQuery.fn.extend(object) jQuery.extend(object) 多库共存 jQuery.noConflict([ex]) 属性 属性 attr(name|pro|key,val|fn) removeAttr(name) prop(name|pro|key,val|fn)1.6+ removeProp(name)1.6+ CSS 类 addClass(class|fn) removeClass([class|fn]) toggleClass(class|fn[,sw]) HTML代码/文本/值 html([val|fn]) text([val|fn]) val([val|fn|arr]) CSS CSS css(name|pro|[,val|fn]) 位置 offset([coordinates]) position() scrollTop([val]) scrollLeft([val]) 尺寸 heigh([val|fn]) width([val|fn]) innerHeight() innerWidth() outerHeight([soptions]) outerWidth([options]) 选择器 基本 #id element .class * selector1,selector2,selectorN 层级 ancestor descendant parent > child prev + next prev ~ siblings 基本 :first :last :not(selector) :even :odd :eq(index) :gt(index) :lt(index) :header :animated :focus1.6+ 内容 :contains(text) :empty :has(selector) :parent 可见性 :hidden :visible 属性 [attribute] [attribute=value] [attribute!=value] [attribute^=value] [attribute$=value] [attribute*=value] [attrSel1][attrSel2][attrSelN] 子元素 :nth-child :first-child :last-child :only-child 表单 :input :text :password :radio :checkbox :submit :image :reset :button :file :hidden 表单对象属性 :enabled :disabled :checked :selected 文档处理 内部插入 append(content|fn) appendTo(content) prepend(content|fn) prependTo(content) 外部插入 after(content|fn) before(content|fn) insertAfter(content) insertBefore(content) 包裹 wrap(html|ele|fn) unwrap() wrapall(html|ele) wrapInner(html|ele|fn) 替换 replaceWith(content|fn) replaceAll(selector) 删除 empty() remove([expr]) detach([expr]) 复制 clone([Even[,deepEven]]) 筛选 过滤 eq(index|-index) first() last() hasClass(class) filter(expr|obj|ele|fn) is(expr|obj|ele|fn)1.6* map(callback) has(expr|ele) not(expr|ele|fn) slice(start,[end]) 查找 children([expr]) closest(expr,[con]|obj|ele)1.6* find(expr|obj|ele) next([expr]) nextall([expr]) nextUntil([exp|ele][,fil])1.6* offsetParent() parent([expr]) parents([expr]) parentsUntil([exp|ele][,fil])1.6* prev([expr]) prevall([expr]) prevUntil([exp|ele][,fil])1.6* siblings([expr]) 串联 add(expr|ele|html|obj[,con]) andSelf() contents() end() 事件 页面载入 ready(fn) 事件处理 on(eve,[sel],[data],fn)1.7+ off(eve,[sel],[fn])1.7+ bind(type,[data],fn) one(type,[data],fn) trigger(type,[data]) triggerHandler(type, [data]) unbind(type,[data|fn]) 事件委派 live(type,[data],fn) die(type,[fn]) delegate(sel,[type],[data],fn) undelegate([sel,[type],fn]) 1.6* 事件切换 hover([over,]out) toggle(fn, fn2, [fn3, fn4, ...]) 事件 blur([[data],fn]) change([[data],fn]) click([[data],fn]) dblclick([[data],fn]) error([[data],fn]) focus([[data],fn]) focusin([data],fn) focusout([data],fn) keydown([[data],fn]) keypress([[data],fn]) keyup([[data],fn]) mousedown([[data],fn]) mouseenter([[data],fn]) mouseleave([[data],fn]) mousemove([[data],fn]) mouseout([[data],fn]) mouseover([[data],fn]) mouseup([[data],fn]) resize([[data],fn]) scroll([[data],fn]) select([[data],fn]) submit([[data],fn]) unload([[data],fn]) 效果 基本 show([speed,[easing],[fn]]) hide([speed,[easing],[fn]]) toggle([speed],[easing],[fn]) 滑动 slideDown([spe],[eas],[fn]) slideUp([speed,[easing],[fn]]) slideToggle([speed],[easing],[fn]) 淡入淡出 fadeIn([speed],[eas],[fn]) fadeOut([speed],[eas],[fn]) fadeTo([[spe],opa,[eas],[fn]]) fadeToggle([speed,[eas],[fn]]) 自定义 animate(param,[spe],[e],[fn]) stop([cle],[jum])1.7* delay(duration,[queueName]) 设置 jQuery.fx.off jQuery.fx.interval ajax ajax 请求 $.ajax(url,[settings]) load(url,[data],[callback]) $.get(url,[data],[fn],[type]) $.getJSON(url,[data],[fn]) $.getScript(url,[callback]) $.post(url,[data],[fn],[type]) ajax 事件 ajaxComplete(callback) ajaxError(callback) ajaxSend(callback) ajaxStart(callback) ajaxStop(callback) ajaxSuccess(callback) 其它 $.ajaxSetup([options]) serialize() serializearray() 工具 浏览器及特性检测 $.support $.browser $.browser.version $.boxModel 数组和对象操作 $.each(object,[callback]) $.extend([d],tgt,obj1,[objN]) $.grep(array,fn,[invert]) $.sub() $.when(deferreds) $.makearray(obj) $.map(arr|obj,callback)1.6* $.inarray(val,arr,[from]) $.toarray() $.merge(first,second) $.unique(array) $.parseJSON(json) 函数操作 $.noop $.proxy(function,context) 测试操作 $.contains(container,contained) $.type(obj) $.isarray(obj) $.isFunction(obj) $.isEmptyObject(obj) $.isPlainObject(obj) $.isWindow(obj) $.isNumeric(value)1.7+ 字符串操作 $.trim(str) URL $.param(obj,[traditional]) 插件编写 $.error(message) 关于 关于此jQuery中文文档 提交bug及获取更新 Deferred def.done(donCal,[donCal]) def.fail(failCallbacks) def.isRejected() def.isResolved() def.reject(args) def.rejectWith(context,[args]) def.resolve(args) def.resolveWith(context,[args]) def.then(doneCal,failCals) def.promise([type],[target])1.6+ def.pipe([donl],[fai],[pro])1.7* def.always(alwCal,[alwCal])1.6+ def.notify(args)1.7+ def.notifyWith(con,[args])1.7+ def.progress(proCal)1.7+ def.state()1.7+ Callbacks cal.add(callbacks)1.7+ cal.disable()1.7+ cal.empty()1.7+ cal.fire(arguments)1.7+ cal.fired()1.7+ cal.fireWith([context] [, args])1.7+ cal.has(callback)1.7+ cal.lock()1.7+ cal.locked()1.7+ cal.remove(callbacks)1.7+ $.callbacks(flags)1.7+ 其它 正则表达式

2014-05-31

jsp_毕业设计参考文献

jsp_毕业设计参考文献 [9]孙东卫,张冀红,李声利. 数据库访问技术研究[J].现代电子技术.2002,18(5).20-34.

2014-04-29

java环境变量配置

java环境变量配置 windows xp下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;   2.安装完成后,右击“我的电脑”,点击“属性”; 3.选择“高级”选项卡,点击“环境变量”;

2014-04-29

ue16_cn_REG_to_UPK_By_MyCrack

破解版的UE UltraEdit破解版是当前功能最强大的文本编辑器,网络上大部分软件站介绍这是款文本编辑器,UE支持十几种编程程序语言,所以实际上大家都把它当作编程软件使用,当然最常用的还是UE的十六进制编辑功能,用来修改EXE或dll文件非常方便,一些骨灰级游戏玩家甚至用它来修改游戏存档。

2014-04-29

astah_professional是一款轻量级别的UML建模工具

astah_professional是一款轻量级别的UML建模工具

2014-04-02

基于SOA的信息系统实施方法论研究

基于SOA的信息系统实施方法论研究 :基于SOA 的信息系统已经成为目前建设信息系统的重要类型。论文分析并比较 了IBM、Oracle、微软、普元等主流厂商的SOA 实施方法论,在此基础上,提出了一个基 于SOA 的信息系统实施方法论的框架,该框架中将SOA 系统的采纳分为三个过程,即:规 划过程、实施过程和治理过程。论文的作者对某移动公司实施SOA 项目的过程进行了调研, 调研数据验证了论文提出的实施方法论框架的正确性和可行性。

2013-11-30

u011018979的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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