开发
文章平均质量分 88
博BOBO
做的更好!
展开
-
Sequences | lazy
Sequences | lazy原创 2022-11-17 14:13:45 · 261 阅读 · 1 评论 -
Swift 协议
协议的语法。原创 2022-08-05 10:01:01 · 119 阅读 · 0 评论 -
swift 【block】
而闭包是一个函数和它所捕获变量/常量环境的组合;一般指定义在函数内部的函数;一般它捕获的是外层函数的局部变量/常量;闭包和和闭包表达式的区别?闭包表达式是函数的另外一种表现形式,为了实现简介和高效,有不同的表现形式,例如自动闭包,尾随闭包;闭包是封装在函数中的函数或者闭包表达式,且捕获了局部变量的运行环境。它运用了闭包表达式,但闭包表达式不是闭包。...原创 2022-07-20 19:28:25 · 3295 阅读 · 0 评论 -
Swift 【Class】【struct】
值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个指向。引用类型是在堆上,而值类型是在栈上进行存储和操作。相比栈上的操作,对上的操作更加复杂耗时,所以苹果官方推荐使用结构体,这样可以提高App运行的效率。值类型赋值给let var 或者函数传参的时候全是深拷贝;引用类型赋值给let var 或者函数传参的时候完,是将内存地址拷贝一份,属于浅拷贝。结构体属于值类型,标准库中的结构体采用copy on write策略,优化效率;class可以继承,这样子类可以使用父类的特性和方法。类型转换可以原创 2022-07-14 12:34:16 · 609 阅读 · 0 评论 -
Swift - 泛型
泛型做为 Swift 最强大的特性之一,许多 Swift标准库是通过泛型代码构建的。事实上,泛型的使用贯穿了整个 swift,如 Swift中 Array 和 Dictionary都是泛型集合。你可以创建一个 Int 数组,也可以创建String 数组,甚至可以是任意其它Swift类型的数组。同样的,你也可以创建存储任意指定类型的字典。 Array后面尖括号中的Element就是Array的定义的泛型类型 Dictionary尖括号中的Key、Value就是Dictionary定义的泛型类型原创 2022-07-04 17:40:21 · 488 阅读 · 0 评论 -
touchID 和 FaceID~1
公司项目里面要 TouchID 和 faceID 来解锁安全中心FaceIDiPhoneX 提供的刷脸功能与之前的设备的TouchID类似,都是属于生物验证的范畴。苹果爸爸也是为了照顾开发者,这两个功能对应的API基本相同,对于之前支持TouchID的APP其实可以在不做任何修改的基础上兼容FaceID,只是在一些UI样式上需要修改。biometryTypeiOS11之后LAContext新增biometryType属性,调用时候可以根据这个属性来判断当前设备是使用FaceID还是Touc..原创 2020-11-06 16:51:08 · 340 阅读 · 0 评论 -
iOS开发解决IQKeyboardManager失效的问题
在项目中应用了第三方IQKeyboardManager来解决键盘的问题。但是如果textField或者textView的父视图是scrollView,那么IQKeyboardManager就失效了,没有把对应的视图推上去。解决:原创 2020-11-02 11:40:47 · 1993 阅读 · 0 评论 -
iOS自动打包IPA
整体步骤:1、下载脚本文件2、将脚本文件拉到你的工程3、修改脚本文件4、执行脚本文件5、成功自动打包现在我们开始操作1、下载脚本文件下载地址:https://github.com/CYC666/shell-files2、将脚本文件拉到你的工程3、修改脚本文件,打开脚本文件shell.sh编辑prject_name 和scheme_name编辑appid - app passwordfir平台获取token设置...原创 2020-05-28 20:51:09 · 170 阅读 · 0 评论 -
NSNSPredicate详解
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。定义(最常用到的方法):[cpp] view plaincopyNSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *),原创 2017-07-20 09:46:17 · 241 阅读 · 0 评论 -
iOS中[super class]为何会输出子类类型?
iOS中[super class]为何会输出子类类型?比如有一个自定义类DetailViewController继承自类UIViewController。那么我们对这个自定义类分别使用[self class]和[super class]将会分别输出如下结果:[self class][super class]DetailViewContro原创 2017-06-21 19:55:38 · 494 阅读 · 0 评论 -
使用Xcode进行iOS设备无线调试
更新了系统,试了一下高比格的无线调试设备环境:Mac OSX 10.12.5、iOS11、Xcode9PS:这是WWDC2017的新功能,iOS11以上,Xcode9这是刚性要求。这个功能不好找,就记下来了手机连接上Xcode,打开Xcode菜单:Windows->Device and Simulators。找到连接上的设备,把Connect via network选项打勾原创 2017-09-21 15:59:41 · 248 阅读 · 0 评论 -
iOS面试题2017
iOS面试小贴士———————————————回答好下面的足够了-------------------------------------多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原理。实现机制。如何解决TableView卡的问题。block和代理的,通知的区别。block的用法需要注意些转载 2017-05-22 17:54:43 · 752 阅读 · 0 评论 -
oc中少见的不继承于NSObject 的类NSProxy?
SObject类是Objective-C中大部分类的基类。但不是很多人知道除了NSObject之外的另一个基类——NSProxy.总的来说,NSProxy是一个虚类,你可以通过继承它,并重写这两个方法以实现消息转发到另一个实例:- (void)forwardInvocation:(NSInvocation *)invocation;- (NSMethodSignature *)met原创 2017-06-06 10:39:47 · 830 阅读 · 0 评论 -
ios面试题全面
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。2. #impo原创 2017-06-16 09:52:34 · 711 阅读 · 0 评论 -
逃避苹果审核,进行强制更新
checkVersion 这个方法是可以完成强制更新的-(void)viewDidAppear:(BOOL)animated{ [self checkVersion]; //检测升级 }-(void)checkVersion{ NSString *newVersion; NSURL *u原创 2017-06-16 09:46:35 · 301 阅读 · 0 评论 -
objective-c 中数据类型之五 数值类(NSNumber及NSNumberFormatter)
// 聊聊NSNumber, NSNumber可以封装c中基本数据类型 char,int,long,float,BOOL,NSInteger,CGFloat等。 NSNumber *num = [NSNumber numberWithChar:'a']; NSLog(@"%@", num); // 97 num = [NSNumber numberWithInte原创 2016-12-20 15:53:58 · 277 阅读 · 0 评论 -
iOS:json格式字符串转字典,字典转json格式字符串
/*!* @brief 把格式化的JSON格式的字符串转换成字典* @param jsonString JSON格式的字符串* @return 返回字典*/+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {if (jsonString == nil) {ret原创 2016-12-20 15:26:00 · 285 阅读 · 0 评论 -
判断NSString是否包含某个字符串
在iOS8以后,还可以用下面的方法来判断是否包含某字符串:NSString *women = @"Hey you are bitch ?";if ([women containsString:@"bitch"]) {NSLog(@"women 包含 bitch");} else {NSLog(@"women 不存在 bitch");}原创 2016-12-27 15:02:13 · 1637 阅读 · 0 评论 -
iOS项目分析及优化
从代码看一个程序员的笔力从代码的整洁度上就可以看出一个程序员的实力,规范其实就是让你养成一种良好习惯的标杆,在此面前我们应该顺从。本篇我们以OC为例,统计了一些在编写程序中需要注意的事项,共有20条,当然还有更多的规范,此处只是做个示例。单页代码最好控制在800行以内,每个方法最好不要超过100行,过多建议对代码进行重构相同的逻辑方法定义避免在多个地方出现,尽量转载 2016-12-14 10:29:45 · 318 阅读 · 0 评论 -
XCode里查询本机IP的Objective-C代码
NSHost* myhost =[NSHost currentHost];NSString *ad = [myhost address];字符串ad的值就是你的本机ip。原创 2016-12-13 11:04:25 · 492 阅读 · 0 评论 -
宏文件
今天看到一个地方一个宏文件,感觉挺全的,做个拷贝,留着自己以后用。不说了,上东西。字符串是否为空1 #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length]转载 2016-12-13 09:46:33 · 635 阅读 · 0 评论 -
iOS时间问题
在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大多零零散散,很多资料并没有说明其中问题。这里集中总结一下,以便于以后查阅和供大家参考。有我自己的理解,错漏之处请大家吐槽。NSDate的8小时问题NSDate转字符串时间初始化一个NSDate时间[NSDate date],获取的是零时区的时间(格林原创 2016-12-13 09:21:04 · 340 阅读 · 0 评论 -
NSString拼接字符串
//将数组转化为字符串 NSString *string = [nameArray componentsJoinedByString:@","];原创 2016-12-12 16:03:42 · 291 阅读 · 0 评论 -
升级Xcode9.0,代码抱错 compiling IB documents for earlier than ios 7 is no longer supported
compiling IB documents for earlier than ios 7 is no longer supported 如图所示,把build for 的版本更改为iOS7.1或以上即可。顶1原创 2017-10-19 16:48:51 · 300 阅读 · 0 评论 -
iOS- 一键自动打包发布到Fir和AppStore
特别说明:如果项目没有采用Cocoapods管理,没有.xcworkspace,只有xcodeproj;只需要将脚本中这句xcodebuild \archive -workspace ${project_path}/${project_name}.xcworkspace \ 这句替换成下面这样就ok了xcodebuild \archive -project ${project_p原创 2017-10-14 14:31:49 · 492 阅读 · 0 评论 -
WebViewJavascriptBridge
WebViewJavascriptBridge浅析WebViewJavascriptBridge是一个Objective-C与JavaScript进行消息互通的三方库。通过WebViewJavascriptBridge,我们可以很方便的实现OC和Javascript互调的功能。WebViewJavascriptBridge实现互调的过程也容易理解,就是在OC环境和Javascript环境各自保存一...原创 2018-07-11 15:48:24 · 387 阅读 · 0 评论 -
Linux常用命令学习
1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列...原创 2019-05-23 15:52:25 · 70 阅读 · 0 评论 -
PHP--数据库操作
今天学习了一个PHP数据库操作上传用户信息。form创建用户名 密码<form action="" method="post"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> 重复密码:<input t...原创 2019-05-10 17:18:49 · 90 阅读 · 0 评论 -
Mac上php环境配置
系统要求苹果 Mac OS X Yosemite 及以上;步骤简略接下来让我们按照这几个步骤来完成整个 Laravel 开发环境的安装及配置:安装 VirtualBox 安装 Vagrant 导入 Homestead Box 虚拟机盒子 安装 Git 安装 Homestead 管理脚本 配置Homestead.yaml文件 启动 Homestead 虚拟机安装...原创 2019-05-07 17:47:54 · 308 阅读 · 0 评论 -
PHP文件上传
今天学习了一下PHP的文件上传,这块的内容,简单的通过from表单的方式上传的。因为不熟悉,踩了不少坑,废话不说,直接上代码<form action="" enctype="multipart/form-data" method="post" name="uploadfile">上传文件:<input type="file" name="upfile">&...原创 2019-05-09 18:05:29 · 107 阅读 · 0 评论 -
Weex开发8(git提交忽略不必要的文件或文件夹)
创建maven项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本。例如如下截图,实际开发中我们只需提交:src,.gitignore,pom.xml而自己项目文件一般都保留,但是有些则不必要提交,如maven项目的target文件夹等等。git忽略不必要文件有2种方法,一种是命令方法,一种是eclipse安装git插件设置方法一:命令方法1.首先在仓库中创建...原创 2019-04-29 15:34:11 · 168 阅读 · 0 评论 -
Weex开发5(nav跳转)
兼容三端 1、在src根目录下创建utils export function getEntryUrl(name) { // 判断当前的环境,适配web端 if (weex.config.env.platform === "Web") { return './' + name + '.html' } else { ...原创 2019-04-16 14:27:26 · 153 阅读 · 0 评论 -
Weex开发4(盒模型布局+理解)
最近一周都在写<div><text><image><list>各种标签,以前也不是很熟,在布局方面也踩了不少的坑,但是看了看网上的一些推荐和自己写的一些东西,总结出了Css的简单理解<-------------盒子-------------->1.在前端代码中任何的布局,代码样式,都是一个盒子,<div>就是一个盒子,里面...原创 2019-04-12 16:04:22 · 126 阅读 · 0 评论 -
Weex开发3(本地图片加载)
从weex的API中,我们知道加载本地图片的方法是:在 iOS 中,Weex 会在 bundle resources 中查找。例如,image 组件的 src 属性为 local:///app_icon', Weex 会加载 bundle resouce 中名为 app_icon 的图像资 源,而字体文件也以相同的方式工作。 在 Android 中,image 组件将从 drawable 资源文...原创 2019-04-12 14:33:20 · 769 阅读 · 0 评论 -
iOS-键盘删除按钮的点击事件监听
iOS-键盘删除按钮的点击事件监听刚刚做了一个功能,SMS登录,但是在UITextFeild中text为@""的时候,textFeild不响应(- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string)这个...原创 2019-01-09 11:18:11 · 2065 阅读 · 0 评论 -
描述文件处理
原创 2018-12-25 14:37:27 · 310 阅读 · 0 评论 -
多人开发Xcode工程冲突,打不开解决办法
多人开发Xcode工程冲突,打不开解决办法在公司多人协作开发,相信好多程序员都遇到非常忧伤的问题,就是工程打不开,这样就无从下手,好多程序怨只能再从代码服务器上下载一份新的代码,今天小哥教你几个小技巧,让你的bigger瞬间提升一个档次在公司经常遇到这种非常忧伤的问题出现这种问题是因为多人开发中,同时修改了工程文件(.xcodeproj),或者storyboard,xib,Asset...原创 2018-12-24 18:31:41 · 1444 阅读 · 0 评论 -
Xcoode9兼容FFmmpeg
有用到 https://github.com/chrisballinger/FFmpeg-iOS 的大神吗? 更新到Xcode9之后,库报错了????/FFmpeg/libavcodec/avcodec.h:3590:10: Typedef 'AVMediaType' cannot be referenced with a enum specifier?? 这个要怎么处理?重命名了,我把FFmpe...原创 2017-10-24 17:31:32 · 342 阅读 · 0 评论 -
NSDate 转为NSString 时差的问题
从服务器获取到的时间直接转换成NSString 会差8个小时,原因是 从服务器获取的时间 直接转为string,会转成 本地时区。解决办法:NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];[formatter setTim...原创 2018-07-21 10:22:28 · 159 阅读 · 0 评论 -
NSDate 时差8小时解决方法
摘要:我们用[NSDatedate]获取的是GMT时间,这个时间和北京时间相差8个小时,下面展示几种方法解决这个问题//方法一-(void)date{NSDate*date=[NSDatedate];NSTimeZone*zone=[NSTimeZonesystemTimeZone];NSIntegerinterval=[zonesecondsFromGMTForDate:date];NSDate...原创 2018-07-21 10:20:21 · 447 阅读 · 0 评论