浅浅的博客

温故而知新

iOS 中block的循环引用问题

开发中经常使用weakSelf和strongSelf来解决block的循环引用问题,但是是不是所有的block都会导致循环引用呢?显然不是的,那么怎么判断调用一个带有block方法时是否会造成循环引用呢,我们来分析一下。 首先我们来写一个含有block的类,并调用自己,然后在外部实现这个block...

2018-12-20 15:30:26

阅读数 24

评论数 0

Mac下使用webstorm和Charles搭建本地服务器使手机可访问本地html网页

写了一段时间的h5,页面主要是在手机App中使用,直接用谷歌的模拟器调试是比较方便,但有时候在谷歌浏览器中生效的在手机上不生效,这就比较烦,要想看手机上的效果就得发布到服务器上,还有问题又得重新改,然后重新发布再测试,很麻烦。 之前一直想用XAMPP搭建一个本地服务器,然后让手机访问,找了一堆教程...

2018-12-14 10:39:33

阅读数 430

评论数 0

iOS中FMDB的使用

在iOS开发中,如果本地需要做大量的缓存,FMDB用的是比较多的,怎么集成到项目中我这里就不说了,主要说一下FMDB使用的一个思路和自己遇到的坑。 在我自己开发聊天系统的时候,我一般是用FMDB用来缓存最近联系人列表和用户的聊天消息列表。因为聊天系统,涉及到的读和写比较频繁,所以我会封装一个单例类...

2018-11-11 19:52:50

阅读数 72

评论数 2

GCD常用方法及应用场景

开发过程中,出现耗时操作造成界面卡顿是常见的问题之一,问题原因就是因为耗时操作阻塞了主线程,所以要解决这类问题最简单的就是引进子线程,将耗时操作移出主线程,耗时操作完成后回到主线程中更新UI。 之前在做一个通讯录的时候,由于需要自己进行排序,所以第一次时需要将几千条的数据都拉下来然后处理,这是非...

2018-08-30 15:44:42

阅读数 80

评论数 0

iOS中主队列的同/异步执行

主队列是主线中的一个串行队列,通常我们刷新UI都会回到主队列。下面我们来看一下主队列同步执行和异步执行会产生什么样的效果。 主队列,异步执行 //主队列+异步执行 //不会开启新的线程,任务顺序执行 -(void)test5{ NSLog(@"主队列+异步执行&a...

2018-08-30 13:26:58

阅读数 323

评论数 0

多线程中队列和同/异步执行问题

队列分为并行队列和串行队列,执行方式分为同步执行和异步执行,那么组合一下就有四种方式,下面我会用GCD来验证和总结一下各个组合的特性。 并发队列,同步执行 //并发队列+同步执行 //不会开启新线程,任务顺序执行 -(void)test1{ NSLog(@"并发队...

2018-08-30 11:47:28

阅读数 237

评论数 0

一种全新的数字货币——GIFT,每天签到领零花钱!

Gift.ONE平台发布的GIFT货币,一个GIFT币价值0.2美元,也就是1.2人民币,注册就送100个GIFT币,每天签到都会有几十个GIFT币。 可以绑定自己的以太坊钱包地址。 近期提币功能已开放。 还在等什么,已经错过了那么多的比特币了,这个再不抓紧机会估计也要高攀不起了...

2018-08-08 10:55:16

阅读数 709

评论数 0

iOS UI入门——Objective-C和Swift下UITabBarController的使用

很多App启动页过后展示的就是选项卡也就是UITabBarController,这里讲的是最简单的选项卡的实现,直接继承自UITabBarController。 Objective-C代码: #import "MainTabBarViewController.h&...

2018-07-19 11:07:09

阅读数 105

评论数 0

iOS UI入门——Objective-C和Swift下UIPageControl的使用

UIPageControl就是我们常说的小白点,常用于轮播图,与UIScrollView一起使用。效果如图: Objective-C代码: #import "ViewController.h" @interface ViewController (...

2018-07-12 10:56:43

阅读数 136

评论数 0

iOS使用UIScrollView实现图片循环滑动的思路解析

一组图片循环滑动在开发中经常用到,App的欢迎页、广告banner等等都会用到。成熟的第三方也比较多,个人用的比较多的是JCTopic,这个很轻量级,代码也不多,用起来也是比较方便。 看过源码之后整理了一下实现的思路和原理,我们先来分析一下我们要实现的这个功能——图片循环轮播,看到这个需求我们想...

2018-07-11 16:46:00

阅读数 333

评论数 0

iOS常用方法——一个好用的获取导航栏高度和Tabbar高度的分类

开发中经常需要知道导航栏(系统)的高度和Tabbar的高度,一般是用来计算在ViewController中的位置和高度,我们可以写一个UIVIewController的分类,这样在调用的时候就很方便。代码如下: #import "UIViewController+MYVie...

2018-07-10 10:06:11

阅读数 3958

评论数 0

Swift Mark的使用

在用Objective-C开发iOS的时候,常常用到#pragma mark -,使用Mark可以让代码看上去整洁,提高了代码的可读性。 最近开始写Swift,发现不能再这样写了,这样写直接报错。Swift下的Mark: //MARK:- 阅读代码时,我习惯先看每个类中的方法,只要方法名...

2018-07-09 16:14:59

阅读数 304

评论数 0

iOS UI入门——Swift下WKWebView的使用

之前有写过Objective-C语法下WKWebView的使用,基本包含了界面和与h5的交互,这里主要写Swift语法下WKWebView的使用。直接上代码吧,说明基本都在注释里。 import UIKit import WebKit class ViewController: UIVie...

2018-07-09 15:08:55

阅读数 425

评论数 0

iOS UI入门——使用Objective-C和Swift实现警告视图和操作列表(UIAlertView,UIActionSheet,UIAlertController)

警告弹框和操作列表在开发中常用到,iOS9之后,UIAlertView和UIActionSheet都会报黄色的警告,但是还是依然可以使用的。在这里主要介绍一在这三个控件在Objective-C和Swift下的使用代码。 Objective-C代码: #import &quo...

2018-07-09 14:53:33

阅读数 76

评论数 0

iOS常用方法——UIWebView全屏显示的实现

项目中加载webView,导航栏由web端做的话,客户端就需要隐藏掉导航栏。这个时候显示出来的页面,在顶部会出现状态栏为空白的问题。底部也会多出空白,即: - (void)viewDidLoad { [super viewDidLoad]; // Do any additio...

2018-07-05 17:49:43

阅读数 1092

评论数 0

Mac下使用终端查看某个端口号对应的进程和杀死进程

查看端口号对应的进程 打开终端,输入lsof -i tcp:port,port即为端口号,如5037 如果端口号未被占用,回车之后结果如图: 如果端口号被占用,则会出现占用该端口号的进程和进程的id,举个例子: 这样我们就可以根据进程id来杀死进程了。 杀死端口号对应的进程 如...

2018-07-05 15:47:47

阅读数 2132

评论数 0

【Android学习笔记】Android Studio打包生成apk

使用Android Studio生成安卓手机的安装包,步骤如下: 使用Android Studio打开项目,选择Build—>Generate Signed APK 点击后弹出如下的图,选择Module,然后点击next: 重点来了,如果首次进行打包,那么看到的弹...

2018-07-04 16:42:16

阅读数 240

评论数 0

iOS开发iPhone竖屏icon尺寸与启动页尺寸汇总

我比较喜欢在TARGETS的General中设置icon和启动页,也就是如下图的地方: 可能很多人喜欢用LaunchScreen.xib来设置启动页,但是只设置一个的话,可能图片的大小很难适配所有的尺寸。我比较喜欢用Assets来设置,每个系统给对应的尺寸。 下面是我汇总的尺寸,按照所给的...

2018-07-03 17:03:57

阅读数 337

评论数 0

iOS常用方法——WKWebView与h5交互的实现

随着前端开发的强大,原生与h5的交互用的也越来越多。 为什么选用WKWebView,我们可以做一个对比,同一个web页面,用UIWebView加载和用WKWebView来加载,内存占用情况很容易看出来,回到原生页面之后,UIWebView对应的内存也不会降下来。从性能而言,个人觉得能用WKWeb...

2018-07-03 15:44:57

阅读数 485

评论数 0

iOS常用方法——WKWebView缓存清理的实现

WKWebView是iOS8之后出现的,相较于UIWebView,WKWebView占用的内存更小,还有一些其他的优化。但是如果我们不去主动清理webView产生的缓存,两者都会存在缓存这个问题。比如说一个网页改了一些内容,如果不清理缓存,可能很长一段时间我们都没办法看到新的内容,唯一的办法是卸载...

2018-07-03 14:09:41

阅读数 1549

评论数 0

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