自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ihoudf

不想当黑客的码农不是好厨子

  • 博客(458)
  • 资源 (6)
  • 论坛 (1)
  • 收藏
  • 关注

原创 在线工具、技术网站合集(持续更新)

很不错的技术网站:https://www.raywenderlich.com/category/iosFlutter中文网:https://flutterchina.club/setup-macos/ReactNative教程:https://reactnative.cnSWIFT教程:https://www.cnswift.org/swift5.1教程:https://ww...

2017-09-25 16:39:40 986

原创 Mac 修改主机名、计算机名、本地主机名、xcode作者名、终端前缀

一、主机名:就是HostName。修改:sudo scutil --set HostName 新的主机名二、计算机名:就是ComputerName。它在隔空投送中显示,修改:方法一:在“设置”——“共享”下,修改“电脑名称”。方法二:sudo scutil --set ComputerName 新的计算机名三、本地主机名(即:本地局域网主机名)它在局域网中显示,可在finder下的网络查看。修改:在“设置”——“共享”下,再点下图中的“编辑”按钮,..

2021-05-08 12:17:51 11

原创 微信小程序 云开发update不能更新数据库?云开发追加数组元素?如何判断使用add还是update? 解决!

主业iOS,写过一年java and kotlin,最近自己写个小程序玩玩。不得不说云开发的确方便。但是update不能更新?查了很多资料,有些说使用云函数,有的说数据库权限,都没有说到点上。最后自己试出来了,亲测可行,不当之处请指教。标题的几个问题都是连带出来的。首先说第三个:当没有数据时用add,有了之后用update,怎么判断有没有呢?目前我的做法是先get请求一下,如下:const DB = wx.cloud.database()const T = DB.collect

2020-12-05 11:14:18 385 2

原创 Mac/Window 快速搭建服务器,在手机上测试静态网页

1、安装python2、桌面上或者哪里建个文件夹,把html放进去3、终端cd到该文件夹,执行命令python-mSimpleHTTPServer4、以上就搭建了一个测试服务器,在手机上输入: mac的ip:port比如:192.168.3.30:8000...

2020-12-02 20:53:30 117

转载 JS执行——Promise

Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理且更强大。它最早由社区提出并实现,ES6将其写进了语言标准,统一了用法,并原生提供了Promise对象。特点对象的状态不受外界影响 (3种状态) Pending状态(进行中) Fulfilled状态(已成功) Rejected状态(已失败) 一旦状态改变就不会再变 (两种状态改变:成功或失败) Pending -> Fulfilled Pending -> Rejecte...

2020-11-18 12:10:36 98

原创 微信小程序 js文件引用另一个js文件

1、先建立一个common.js, 写我们的外部js,比如: common.js  function getTime(){ //下面写我们的代码 ....}function getCity(){ //下面写我们的代码 ....}module.exports = { //必须在这里暴露接口,以便被外界访问,不然就不能访问 getTime: getTime, getCity:getCity}2、在需要引入js文件的js中写var commo

2020-11-17 11:24:05 218

原创 swift 防止重写和必须重写

防止重写:父类方法前加关键字final,如: final func checkEnabled() { }必须重写:父类方法里加fatalError("Must Override"),如 func checkEnabled() { fatalError("Must Override") }

2020-10-30 13:11:57 292

原创 iOS 100行原生代码 让你的tableview/collectionView的section有卡片背景(阴影和圆角)

想实现如图的效果吗????

2020-10-28 17:39:21 237

原创 iOS tableview/collectionview索引联动之滚动时索引字母跳动 (ndexPathsForVisibleItems返回不按顺序)

在设置索引条与tableview(或collectionView)联动时,滑动tableview,索引条字母不按顺序变色,会隔几个。这是因为:indexPathsForVisibleItems 或者visibleCells 返回值 不是按照你列表的顺序返回的item,你要把这个数组排序。以swift为例: func scrollViewDidScroll(_ scrollView: UIScrollView) { if scrollView == cw { ...

2020-10-28 17:30:05 271

原创 iOS scrollToItem header挡住了item

[_collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:index] atScrollPosition:UICollectionViewScrollPositionTop animated:YES];不要用上面的方法。||改成:UICollectionViewLayoutAttributes *attributes = [_collectionView layoutAttr.

2020-10-28 17:23:55 108

原创 iOS判断当前点击的位置是否在某个视图上

iOS判断当前点击的位置是否在某个视图上记录几种判断触摸点是否在某个view上面的方法 第一种方式:isDescendantOfView: 通过touch.view调用isDescendantOfView:方法,返回YES, 则触摸点在我们需要判断的视图上;反之则不在。 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { UITouch *touch = [...

2020-10-28 17:14:50 231

原创 swift 数组操作

var num = [1,2,3,4,5,6,7,8,9]//迭代数组for x in num { }//迭代除了最后两个元素以外的数组for x in num.dropLast(2) { }//列举数组中的元素和对应下标for (index, element) in num.enumerated() { }//寻找一个指定元素的位置if let index = num.firstIndex(where: { $0 == 5 }) { }i...

2020-10-28 00:20:44 138

转载 python实现解数独程序代码

偶然发现linux系统附带的一个数独游戏,打开玩了几把。无奈是个数独菜鸟,以前没玩过,根本就走不出几步就一团浆糊了。于是就打算借助计算机的强大运算力来暴力解数独,还是很有乐趣的。下面就记录一下我写解数独程序的一些思路和心得。一.数独游戏的基本解决方法编程笼统的来说,就是个方法论。不论什么程序,都必须将问题的解决过程分解成计算机可以实现的若干个简单方法。俗话说,大道至简。对于只能明白0和1的计算机来说,就更需要细分步骤,一步一步的解决问题了。首先来思考一下解数独的基本概念。数独横九竖九

2020-10-06 20:52:16 159

转载 NSString用法大全(转)

Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理NSString字符串属性 //////////字符串属性////////// NSString *str1 = @"string"; NSLog(@"长度: %ld", str1.length); NSLog(@"描述: ...

2020-10-06 11:20:18 116

原创 iOS面试题系列——runloop

参考:https://blog.ibireme.com/2015/05/18/runloop/https://www.jianshu.com/p/fcb271f69038runloop与线程线程和 RunLoop 之间是一一对应的,其关系是保存在一个全局的 Dictionary 里。线程刚创建时并没有 RunLoop,如果你不主动获取,那它一直都不会有。RunLoop ...

2020-09-08 10:03:32 51

原创 iOS面试题系列之合集

以下是准备iOS面试过程中遇到的一些比较有价值的博客。https://www.jianshu.com/p/d884f3040fdahttps://www.jianshu.com/p/a0bc8d6525b7https://github.com/SunshineBrother/JHBloghttps://www.jianshu.com/p/75e4b9fdcf41...

2020-09-06 12:40:54 64

原创 iOS面试题系列——runtime

参考:https://www.jianshu.com/p/9e975a1cab93https://www.jianshu.com/p/6ebda3cd8052https://blog.ibireme.com/2013/11/26/objective-c-messaging/本文不是讲解,只做面试梳理。1、isa指针//对象struct objc_object {...

2020-09-04 18:48:46 62

原创 iOS面试题系列——KVO&KVC

kvo官方解释:https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html#//apple_ref/doc/uid/10000177-BCICJDHA当观察对象A时,KVO机制利用runtime动态创建一个新类名为:NSKV...

2020-09-04 14:07:23 59

原创 iOS面试题系列——block

首先说,如果自己不去操作,真的不容易看明白。要想明白,看这两篇博客:https://www.jianshu.com/p/ee9756f3d5f6https://blog.csdn.net/qq_27909209/article/details/81514891要看结论,直接看下面:1、变量捕获探究对象,主要分为以下五种变量:1、全局变量 int aa= 1;...

2020-09-02 15:42:41 81

原创 iOS面试题系列——多线程

1、OC中的多线程Pthreads NSThread GCD NSOperation & NSOperationQueue

2020-05-12 23:06:11 7

原创 iOS面试题系列——load和initialize区别

区别:1、调用时刻:load在main函数之前调用,initialize在main函数之后调用。所有类的load方法都只调用一次。(1)load是runtime加载类、分类的时候调用(只会调用1次)主类与分类的加载顺序:先加载所有主类,再加载所有分类。 加载主类时,父类和子类的加载顺序:先加载父类,再加载子类。与编译顺序无关。 加载分类时,先编译先加载,后编译后加载。与编译顺序...

2020-05-09 16:14:16 22

原创 iOS面试题系列——分类

category为什么不能添加属性?1、分类设计初衷是给本类添加实例方法和类方法,分类没有自己的isa指针.“类最开始生成了很多基本属性,比如IvarList,MethodList。分类只会将自己的method attach到主类,并不会影响到主类的IvarList。2、在分类内部结构体里,没有ivar元素,但是有properties元素,所以不能添加成员变量,可以添加属性,但是属性要通过 runtime手动实现setter和getter方法,而实例变量没有etter和getter方法,所以添加

2020-05-09 10:58:49 35

原创 iOS面试题系列——单利

写一个线程安全的单利如下写法:@implementation DFManager+ (instancetype)sharedInstance{ static DFManager *instance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ ...

2020-05-09 10:29:56 23

原创 iOS面试题系列——性能优化(包体积优化、内存优化、流畅性优化、启动优化、耗电优化)

一、包体积优化1、图片:本地图片尽可能改为从网络下载。本地图片可以无损压缩减小图片大小。使用Assets.xcassets来管理图片。使用阿里云的iconfont加载图片。2、合并功能重复的类库,删除不必要的文件和第三方库3、清除类里面不用的代码二、内存优化1、重用问题:如UITableViewCells、UITableViewHeaderFooterVi...

2020-04-28 18:22:53 374

原创 iOS面试题系列——内存

一、内存分布(五大分区)栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,...

2020-04-28 17:41:54 42

原创 iOS面试题系列——响应链(UIControl、UITouch、UIPress、UIResponder、UIEvent)

首先看一下UIButton继承链:UIButton-UIControl-UIView-UIResponder-NSObject一、UIControl、UITouch、UIPress、UIResponder、UIEvent区别和联系这几个类都是跟响应链有关的,可能好多童鞋对这几个概念不太熟悉。1、UIControl:首先看该类下面用的最多的一个方法- (void)addTarg...

2020-04-27 19:55:54 47

原创 iOS 代码块写法、合集(大大大大大大全,这个真是太有用了,贼爽)

iOS开发者应该知道,我们平时可以写一些常用的代码块,下次直接使用快捷键就能调用,不用重复编写。写法如下:<#aaaa#> 这样就可以像系统api一样填空了。UIView *<#view#> = [[UIView alloc] init]; <#view#>.frame = CGRectMake(<#CGFloat x#>, ...

2020-04-27 10:45:31 611

原创 Cocoapods恢复(误删的)master repo

cd ~/.cocoapods/repos git clone --depth 1 https://github.com/CocoaPods/Specs.git master

2020-04-01 19:06:39 1054

转载 git push The requested URL returned error: 403

从git上clone下代码,修改之后提交,发现报错fatal: unable to access 'https://github.com/super-jingjing/multipleUploadImage.git/': The requested URL returned error: 403解决方法如下:vim .git/config打开并修改配置文件,将u...

2020-03-05 17:31:38 122

原创 Swift protocol

新建一个协议文件:或者在classA里写定义protocol:protocol MyChangeTitleDelegate: class { func changeTitle(_ str: String)}classB定义delegate属性: weak var delegate: MyChangeTitleDelegate?回调: d...

2020-01-22 17:22:08 104

原创 Swift 属性闭包

classA定义一个属性 : var closureName: ((_ params: Params) -> Void)?回调: guard let closure = closureName else { return } closure(params)classB实现: var classa = class...

2020-01-22 17:03:38 393

原创 iOS UIPageViewController使用

UIPageViewController是iOS 5.0之后提供的一个分页控件可以实现图片轮播效果和翻书效果.使用起来简单方便.一、初始化方法- (instancetype)initWithTransitionStyle:(UIPageViewControllerTransitionStyle)style navigationOrientatio...

2020-01-16 20:38:17 312

原创 Kotlin class、data class、object、companion object区别(自己备查)

只供自己查阅一、data class:kotlin中的数据类,只保存一些数据字段,类似于java bean,oc中的model。写法:注意后面是() ,不是{}data class yourClassName( val name: String, val age: Int, val sex: Boolean)二、Class:class...

2020-01-16 14:43:00 1089

原创 Google 扩展程序开发实例

谷歌官方文档(这个文档已经写得很清楚了!!!):https://developer.chrome.com/extensions因为360浏览器也是基于谷歌内核,所以这有个中文版的,只是帮助理解,大部门都一样的:http://open.chrome.360.cn/extension_dev/getstarted.html...

2020-01-16 13:25:25 96

原创 ARP 清除缓存表(Linux/windows)

查看本地的arp缓存记录:arp -alinux下清除arp缓存表:sudo arp -adwindows下清除:arp -d-- NORMAL --

2020-01-16 11:02:08 1124

原创 Android json动画(Lottie)解决:json中有图片、在线预览json动画效果

在线预览json动画效果:https://lottiefiles.com/preview一、bundle gradle中加入lottie包 implementation 'com.airbnb.android:lottie:3.1.0'二、在工程app/src/main/下创建文件夹assets,新建时选择Directory,完整路径就是app/src/main/as...

2020-01-14 17:42:06 5915

原创 Kotlin enum枚举

基本写法:比如定义一个弹窗的几种类型,三种类型。class MyDialog : Dialog { enum class Type{ MyDialog_type1, MyDialog_type2, MyDialog_type3 }}使用:在本类使用:Type.MyDialog_type1在别的类使用...

2020-01-14 17:00:24 102

原创 Android EditText用法详解

xml属性:android:maxLines="" //最大行数android:maxLength="" //最大字符数android:hint="" //placeholderandroid:textColorHint="" //placeholder的颜色android:drawableLeft="" //加一张图片 对应rightandroid:drawablePaddi...

2020-01-07 21:45:32 108

原创 Swift vs Kotlin 两种语言同样实现视频裁剪框

闲来无事,随便写写。要实现的效果:实现思路:都是左右两张图片imageview,并加手势,加上上下两个横线view。然后监听手势,计算位置,改变UIswift全部代码:import UIKitclass ViewController1: UIViewController { var space: CGFloat = 150 var iwX:...

2020-01-06 13:33:35 88

原创 iOS开发 飘雪动画、波纹动画、仿iPhone解锁文字,渐变的文字动画

一、使用NSTimer与iphone的简单动画,实现飘雪效果使用NSTimer与iphone的简单动画,实现飘雪效果,这理原理比较简单,就是定时生成一定的雪花图片,然后使用动画的方式向下漂落(我在其它论坛,看到使用path的方式实现的一个云漂来漂去的效果,实际也可以用那种方式实现,这实际就是前面说的动画效果的两种应用)。所以,我们可以在viewDidLoad事件中,增加一个图片及定时器并启动,...

2020-01-04 02:15:53 898

国家编码和手机号编码(+86)(包括阿里版、腾讯版、所有版)

国家编码和手机号编码(+86)(包括阿里版、腾讯版、所有版)

2020-10-28

iOS emoji大全 plist文件

iOS emoji大全 plist文件

2019-01-11

iOS sqlite3使用demo

iOS sqlite3使用demo

2017-07-07

iOS xml解析和json解析demo

iOS xml解析和json解析demo

2016-11-07

CAEmitterLayer 五彩雪花、火花、烟花等效果Demo

CAEmitterLayer 五彩雪花、火花、烟花等效果Demo

2016-03-30

GDataXMLNode源文件

GDataXMLNode源文件

2016-11-07

ihoudf的留言板

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

空空如也

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

TA关注的人 TA的粉丝

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