想获取用户各项行为数据吗? 想轻松查看用户行为图表吗? 想高效进行 App 运营管理吗? 想,来我带你玩转 App 数据统计。这里我使用专业、轻便的 JAnalytics。 本文内容分为两部分:代码示例&使用技巧部分、控制台图表查看部分。 代码示例&使用技巧 集成 下载 JAnaly
UICollectionView 适配 iPhone 7 Plus 需求:在屏幕上水平放置 5 张正方形图片,每张图片的宽度相等,无缝隙排列铺满一个屏幕宽度。 看似很简单的需求。用 UICollectionView 实现的话,把 UICollectionView 的宽度设置为屏幕宽度;屏幕宽度除以
前言 因为 实战项目系列 涉及到数据持久化,这边就来补充一下。 如本文有错或理解偏差欢迎联系我,会尽快改正更新! 如有什么问题,也可直接通过邮箱 277511806@qq.com 联系我。 demo链接: https://pan.baidu.com/s/1hsspiio 密码: dk3h 数据持
UINavigationController 返回手势与 leftBarButtonItem UINavigationController 自带从屏幕左侧边缘向右滑动的返回手势,可以通过这个手势实现 pop,或者 pop 中途取消 pop 而停留在当前控制器(UIViewController)。如果
在Android系统中,BroadcastReceiver的设计初衷就是从全局考虑的,可以方便应用程序和系统、应用程序之间、应用程序内的通信,所以对单个应用程序而言BroadcastReceiver是存在安全性问题的,相应问题及解决如下: 1、当应用程序发送某个广播时系统会将发送的Intent与系统
突然项目中要用到图表,所以就用了百度的echarts,然后就是网上搜了一下,由于本人的JS不是很熟悉,但是研究了一下还是做出来了,其实也不是很难 最后做的效果大概如下图这种,由于界面上没调整,所以粗糙了一点 不多说 前端的代码如下 <!DO
本篇文章是个引用,因为这些技术我都只是研究过,但是并没有在项目中使用,也没有深入研究,所以只能当做一个笔记了 网络请求 现在大多数的网络请求都是使用的json格式(相信没有APP再使用XML格式了吧),json格式小巧,轻便,在早几年,确实是不二之选,但是现在有了更加轻型的解决方
  本文主要介绍Swift的闭包的使用并与OC的Block做比较。学习Swift是绕不过闭包的,因为无论是全局函数还是嵌套函数都是闭包的一种,本文主要介绍闭包表达式。 1.闭包表达式的使用 // 1.定义一个闭包 let myClosure = {
先看下效果 手势相关的介绍 IOS中手势操作一般是 UIGestureRecognizer 类的几个手势子类去实现,一般我们用到的手势就这么5种: 1、点击  UITapGestureRecognizer 2、平移  UIPanGestureRec
iOS双滑块选择器 《SDRangeSliderView》 https://github.com/qddnovo/SDRangeSliderView 实现了通用性和便利性 今天是个好日子
素材:[A Swift Tour](https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.html#//apple_ref/do
感觉自己给自己释疑,也是一个极为有趣的过程。这次,我还新增了“猜想”一栏,来尝试回答一些暂时没有足够资料支撑的问题。 Swift 版本是:4.0.3。不同版本的 Swift,可能无法复现问题。 个人记录,仅供参考,不保证严格意义上的正确性。 swift 中,如何在函数内,声明 static 变量 ?
一、Runtime简介 1.1 简单介绍 Runtime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制; 对于C语言,函数的调用在编译的时候会决定调用哪个函数; 对于OC的函数,属于动态调用的过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根
1,Instruments iOS自带的自动化测试工具。 2,TuneupJs  最早的iOS自动化测试工具         https://github.com/alexvollmer/tuneup_js 3,ynm3k    在UI控件遍历方面有比较大的优势 https://github.com
Runtime 前言 从字面意思看,就是运行时。但是这个运行时究竟什么意思?可以把它理解成:不是在编译期也不是在链接期,而是在运行时。那究竟在运行期间做了什么呢?按照苹果官方的说法,就是把一些决策(方法的调用,类的添加等)推迟,推迟到运行期间。只要有可能,程序就可以动态的完成任务,而不是我们在编译期

推荐文章