1、KIF介绍 KIF的全称是Keep it functional。它是一个建立在XCTest的UI测试框架,通过accessibility来定位具体的控件,再利用私有的API来操作UI。由于是建立在XCTest上的,所以你可以完美的借助XCode的测试相关工具(包括命令行脚本 使用KIF框架强制要求你的代码支持accessibility。如果你之前没接触过...
这篇文章介绍的是如何在swift项目中使用OCMock框架1、Mock介绍 OCMock是一个用于为iOS或Mac OS X项目配置Mock测试的开源项目。 其实现思想就是根据要mock的对象的class来创建一个对应的对象,并且设置好该对象的属性和调用预定方法后的动作(例如返回一个值,调用代码块,发送消息等等),然后将其记录到一个数组中,接下来开发者主动调用该...
1、描述给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列,该路径至少包含一个节点,且不一定经过根节点。例1:输入:[1, 2, 3] 输出:6例2:输入:[-10, 9, 20, nil, nil, 15, 7] 输出:422、算法思想:递归求最大路径和,考虑实现一...
1、描述给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。例1:输入:[-2, 3, -1, 1, -3] 输出:3 解释:连续子数组 [3, -1, 1] 的和最大,为3例2:输入:[-2, 1, -3, 4, -1, 2, 1, -5, 4] 输出:6 ...
具体代码实现:swift 实现可缩放悬浮窗
继上篇文章介绍了XCTest中的单元测试,这片土地主要介绍下苹果官方测试框架XCTest中的的UITest。1、UITest简介 UI Tests是一个自动测试UI与交互的Testing组件。UI testing允许你找到UI元素并与之交互,还能检查属性和状态.可以和单元测试一起执行. UITest使用的OC/Swift语言的自动化测试。 可以通过编写代码、...
这期的内容有点剑走偏锋,我们来讨论一下栈和队列。Swift语言中没有内设的栈和队列,很多扩展库中使用Generic Type来实现栈或是队列。笔者觉得最实用的实现方法是使用数组,本期主要内容有: 栈和队列的基本Swift实现,以及在iOS开发中应用的实例 Facebook栈相关面试题一道 栈和队列的互相实现及其思想 实现 对于栈来说,我们需要了解以下几点: 栈是后进先出的结构。你
今天总结下swift中对于字符串的操作,记录下工作中常用的。。。1、字符串的声明 关于字符串的声明可以标注类型,也可以不标注,如// 1、字符串声明 var emptyStr : String = " "//声明一个空字符串 var str : String = "Hello World"//定义变量类型为String va
原文地址:http://blog.cocoachina.com/article/13706前言 写这篇文章的目的是因为前两天同学想应聘iOS开发,从网上找了iOS面试题和答案让我帮忙看看。我扫了一眼,倒吸了一口冷气,仔细一看,气的发抖。整篇题目30多个没有一个答案是对的,总结这篇面试题的作者对iOS机制根本就是一知半解就敢发到网上,不管有心还是无心都是坑害新人。所以在这里总结一下这几年
原文地址:http://www.cocoachina.com/ios/20160627/16823.html 前言这是一篇我记录对alloc、init分析思考的笔记。如果读者想看懂我的第二个思考,可能需要您至少了解内存的分段分页管理,如果您对其一点都不知道,可以先看这篇软文简单了解一下。另外很重要的一点是,请先思考。思考1.对象为什么要alloc,init又是干
1、前提:需要在mac的“钥匙串访问-->证书助理-->从证书颁发机构请求证书...”请求后缀为certSigningRequest的证书用于在官网创建VoIP和APNs证书注:certSigningRequest主要包含用户mac的信息,用于苹果官网申请证书1)、“钥匙串访问-->证书助理-->从证书颁发机构请求证书...” 2)、输入用户的电子邮箱,...
(https://ruby.taobao.org --> https://gems.ruby-china.org)由于https://ruby.taobao.org镜像源已经停止更新,导致项目pod install的时候无法pod三方库,需要将目前的镜像源更改为https://gems.ruby-china.org。//https://gems.ruby-china.com(目前本地用的...
一、二叉树的基本概念1、二叉树:在二叉树中,每个节点最多有两个节点,一般被称为左子节点和右子节点,并且二叉树的子数有左右之分,其次序不能任意颠倒2、二叉树节点的实现public class GeneralTreeNode{ public var val : String public var left : GeneralTreeNode? public var...
需求:需要实现项目中根据号码从服务器查询返回的标记写入calllkit放骚扰标记系统库中,来电时显示该标记最终的效果如图所示:一、准备工作1、新建一个swift 项目2、创建callkit扩展:选择file->new->target,选择Call Directory Extension,输入扩展的名称,创建好后选择Activate 3、想实现项目...
描述:给定一个包括n个整数的数组nums 和一个目标值 target,找出nums 中的三个整数,使得它们的和与target最接近,返回这三个数的和,嘉定每组输入只存在唯一答案例: 给定数组 nums = [-1, 2, 1, -4],和target = 1 与target最接近的三个数的和为 2, (-1+2+1 = 2)思路:与求三个数之和为0思路...
1、概述希尔排序又称递减/缩小增量排序,是直接插入排序的一种更高效的改进版本。希尔排序是非稳定排序。希尔排序是把记录按一定下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量的减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰巧被分成一组,算法便终止。2、算法原理思想:元素通过每次移动较大间隙,整个数组可以快速形成局部排序好的情况,这样会让接下来的交换变的...
一、安装sublime text 3sublime text 3安装包下载密码:3eb01、将sublime拷贝至应用程序2、打开sublime,将SN.rtf中的注册码拷贝至sublime注册二、解决中文乱码问题1、安装Package Control(手动安装)(1)通过以此点击菜单Sublime Text > Preferences > Brows...
问题:ios13.3.1真机调试报错dyld_shared_cache_extract_dylibs failed解决方案:1、前往文件夹:~/资源库/Developer/Xcode/iOS DeviceSupport/13.3 (17C54)/Symbols/System/Library/Caches/com.apple.dyld,拷贝com.apple.dyld2、前往文件夹:~...
众所周知,苹果的apns推送,在我们不点击通知时,app是不会执行任何代码的,且apns推送的保活时间是30s左右,如果我们想对推送内容进行修改,可以通过Notification Service Extension进行动态修改一、Notification Service Extension1、点击 file->new->target2、选择 iOS->Notifi...
1、warning:Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int解决方案:target->BuildSetting -> Other Warning Flags 中添加-Wno-shorten-64-to-322、cocopods去除三方库的警告解决方...
一、安装Flutter SDKfluuter的安装步骤可以参考flutter官网1、进入官网,点击get Start,进入flutter sdk下载界面2、选择对应系统3、选择对应系统的最新版本sdk下载4、解压SDK包,并放入相应的路径我的路径是:家目录下(可以根据自己的需求放入不同的目录)二、配置Flutter环境根据flutter官网的提
1、为什么要进行单元测试?答:单元测试是为了避免你的app变成充满bug的软件,让我们在开发过程中能更好的发现缺陷,提高代码质量,也能保证在代码重构时及时发现改动带来的问题。2、单元测试应该测什么?答:1)核心功能:模型类和方法,以及它们和控制器的交互 2)最常用的UI操作 3)边际条件 4)bug修复3、单元测试需...
1、苹果官方测试框架XCTest的优缺点优点:与Xcode深度集成,有专门的Test导航栏。缺点:1)因为受限于官方测试API,因此功能不是很丰富。2)在书写性和可读性上都不太好。在测试用例太多的时候,由于各个测试方法是割裂的,想在某个很长的测试文件中找到特定的某个测试并搞明白这个测试是在做什么并不是很容易的事情。3)所有的测试都是由断言完成的,而很多时候断言的意义并不是...
一、描述给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串例1:输入:"()" 输出:true例2:输入:"()[]{}" 输出:true例3:输入:"(]" ...
1、描述将两个有序链表合并为一个新的有序链表并返回,新链表是通过拼接给定的两个链表的所有节点组成的例:输入:1->2->4,1->3->4 输出:1->1->2->3->4->42、算法思想:迭代/递归解法1)类似归并排序的合并过程,通过遍历链表比较大小,生成新链表的有序排列,多出来的部分直接加入新链表...
1、XCTest框架概述 XCTest是苹果官方的测试框架,是基于OCUnit的传统测试框架,测试编写起来非常简单。XCTest的优缺点: 1)优点:与Xcode深度集成,有专门的Test导航栏, 2)缺点:因为受限于官方测试API,因此功能不是很丰富。在书写性和可读性上都不太好。在测试用例太多的时候,由于各个测试方法是割裂的...
一、安装iTerm1、安装iTerm下载Iterm或者使用Homebrew安装brew cask install iterm22、配置iTerm的主题1)主题下载地址2)文件解压后,打开iterm 2,按 “command+,”, 打开perferences设置界面3)选择【 Pro
效果图如下所示:整体的流程图如下主要需要实现以下两部分:绘制正方形特殊键位移动函数绘制正方形在之前的三角形绘制中,我们已经了解了图形绘制的一个基本流程,那么正方形的绘制就是水到渠成的,只需要在三角形代码的基础上做以下修改:定义顶点到原心距离,即 正方形边长 = blockSize * 2GLfloat blockSize = 0.1f;修改顶点数组//正方形四个点的坐标GLfloat vVerts[] = { -blockSize, -blockSize, 0
屏幕卡顿屏幕卡顿是指图形图像的在显示时出现了撕裂(即图片错位显示)、掉帧(重复显示同一帧数据)等问题,导致用户能直观的从屏幕上看到的一种异常现象为什么会出现这种情况呢?下面就来详细解说下屏幕卡顿###【高频面试题】屏幕卡顿的原因主要有以下三种原因CPU和GPU在渲染的流水线中耗时过长,导致从缓存区获取位图显示时,下一帧的数据还没有准备好,获取的仍是上一帧的数据,产生掉帧现象,掉帧就会导致屏幕卡顿苹果官方针对屏幕撕裂问题,目前一直使用的方案是垂直同步+双缓存区,可以从根本上防止和解决屏幕撕裂,但
该案例主要是对常见的图元连接方式的运用,常见的基本图元连接方式见此链接最终实现的效果如图所示:如图所示,整体的绘制流程如下main函数:程序入口ChangeSize函数:主要是设置视口及投影方式SetupRC函数:图形数据配置,主要是顶点数据及图元连接方式RenderScene函数:主要用于图形的绘制,可以系统触发,也可以开发者手动触发SpecialKeys函数:对特殊键位的回调处理KeyPressFunc:针对空格键的回调处理DrawWireFrameBatch:用于立体图形的填充
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号