Katy 裴

不忘初心,方得始终


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

iOS蓝牙学习笔记

发表于 2019-02-28 | 分类于 学习笔记
字数统计: 1k 字
前言在最近的面试中,有被遇到问过关于蓝牙的开发,之前的开发过程中,倒是留意过这方面的知识,没有进入过实操,所以记忆不是很深刻。特此整理依法,以备不时之需。 正文 蓝牙是一种无限计数标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换。 大白话就是蓝牙是一种短距离无线通信技术。 关键词说明中心设备: 用来扫描周围蓝牙硬件的设备。 外部: 被扫描的设备。 广播: 外设不停的散播蓝牙信号,让中心设备可以扫描到。 服务: 外设广播和运行的时候会有服务,可以理解成一个功能模块,中心设备可以读取服务,外设可以有多个服务。每个服务又包含了很多字段,这些字段的权限一般分为 读read,写write,通知notiy几种,就是我们连接设备后具体需要操作的内容。 特征: 在服务中的一个单位,一个服务可以有很多个特征,特征会有一个value,一般读写的数据就是这个value。 UUID: 区分不同的 ...
阅读全文 »

Python中的4种数据结构

发表于 2019-02-14 | 分类于 学习笔记
字数统计: 1.7k 字
Python中内置的数据结构分别是:list、tuple、dict、set。 list(列表)特征1.列表中每个元素都是可变的;2.列表中的元素是有序的;3.列别中可以容纳Python的任何对象。 基础操作创建列表直接创建列表1list = ["百度", "腾讯", "阿里巴巴"] 通过循环来创建列表12a = [1,2,3,4,5,6]b = [i*10 for i in a] 增加元素列表后面追加元素12list = ["百度", "腾讯", "阿里巴巴"]list.append("谷歌") 在指定位置插入元素12list = ["百度", "腾讯", "阿里巴巴"]list.insert ...
阅读全文 »

浅谈Block的认识与理解

发表于 2019-01-21   |   更新于 2019-02-28 | 分类于 学习笔记
字数统计: 3.8k 字
前言在iOS中最常用到block和Delegate,本篇文章本着再学习再改造的心态整理一下block。如有不妥,望请指教🙏🙏🙏。 正文简介概念block是苹果公司从iOS 4开始引入的对C语言的扩展,是用来实现匿名函数特性的。block是一种特殊的数据类型,它可以正常定义变量、作为参数、作为返回值,特殊的block还可以保存一段代码。 语法语法表达式 ^返回值类型(参数列表){表达式} Block几种常见写法无返回值无参数:123void (^block)(void) = ^() { NSLog(@"无返回无参的Block");}; 无返回值有单一参数123void (^block)(int) = ^(int a) { NSLog(@"a = %d", a);}; 无返回值有多参数123vo ...
阅读全文 »

我理解的深拷贝和浅拷贝

发表于 2019-01-20   |   更新于 2019-02-06 | 分类于 学习笔记
字数统计: 2k 字
前言今天一个朋友跟我讨论一下这个深拷贝和浅拷贝的话题,然后感觉自己说的也不是很清楚,所以又特地找了一些资料,让自己再了解学习一下。 正文概念浅拷贝浅拷贝指的是复制引用对象的指针,而不是复制引用对象本身,拷贝出来的对象指针和引用对象的指针指向同一块内存地址,当这块内存地址销毁的时候,指向这块内存地址的所有指针也需要重新定义,不然就会造成野指针错误。 深拷贝深拷贝指的是复制引用对象的内容,也就是说内容的所占有的内存地址需要重新分配,复制完之后,内存中的值是完全相同的,但是内存地址是不一样的,拷贝得到的对象和引用对象之间是互不影响,也互不干扰。 应用场景浅拷贝场景1.使用retain操作,返回的对象是否可变与被拷贝对象保持一致,在iOS中,使用retain关键字进行引用计数,这是一种更加保险的浅拷贝;2.对于不可变对象进行copy操作的是浅拷贝,引用计数每次+1; 深拷贝场景1.对可 ...
阅读全文 »

iOS 学习笔记之屏幕录制ReplayKit

发表于 2019-01-12 | 分类于 学习笔记
字数统计: 874 字
前言最近一段时间在准备上线一款自己的App,想用一个屏幕录制功能做个简易的用法说明,所以有了这么一篇的学习笔记。在iOS 9 之前录制屏幕可能需要借用一些第三方库或者越狱,当然现在iOS12了已经,越狱这么“严重的”事,谁去做呀,能用到系统库当然不会用第三方库了,正统多重要呀。直接进正文吧,ReplayKit才是本篇学习笔记的重点。 正文简介录屏功能是iOS 10 新推出的特性,苹果在iOS 9的 ReplayKit保存录屏的基础上,增加了视频流的实时直播功能,官方说明。iOS 11又再次增强成ReplayKit 2,进一步的提升了ReplayKit的易用性和通用性,并且可以对整个手机实现屏幕录制。 应用场景 场景一 教育场景,告诉用户使用方法或者客服通过用户的共享的屏幕查看用户遇到的问题和场景还有操作,快速定位问题所在。 场景二 直播场景,比方说当下最火的视频直播。 介绍RPPre ...
阅读全文 »

String 在OC和Swift中的区别

发表于 2019-01-09 | 分类于 总结
字数统计: 529 字
前言在上家公司面试的时候,在跟一个朋友闲聊的时候,想确定一下怎么甄别面试者Swift的水平如何,得到了这个话题。当时作为已经一个使用Swift语言开过项目两年多的我,第一个反应就是String在Swift里面是String,在Objective-C里面是NSString咯,用法什么的大概都一个熊样子咯。囧~ 正文相同点在Swift中,String保留了大部分的NSString的API。如: 判断字符串内容是否以某字符串开始 1hasPrefix 判断字符串内容谁否以某字符串结尾 1hasSuffix 将字符串中的字母转成小写字母 1lowercased 将字符串中的字母转成大写字母 1capitalized 将字符串分割成数组的 1components(separatedBy:) 除了以上这些外,还有一些常规的操作,在Swift中使用String和NSString都是 ...
阅读全文 »

微信分享SDK导入报错之Undefined symbols for architecture arm64

发表于 2019-01-07 | 分类于 错误记录
字数统计: 200 字
报错如下: 1234567891011121314151617181920212223242526Undefined symbols for architecture arm64: "operator new[](unsigned long)", referenced from: +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil Deco ...
阅读全文 »

Flutter学习笔记之一

发表于 2019-01-06 | 分类于 学习笔记
字数统计: 305 字
前言Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建原生的用户界面。 正文下载安装(Mac系统环境)系统要求如果要安装并运行Flutter,开发环境必须满足以下最低要求: 操作系统: macOS 磁盘控件: 700MB 依赖命令行工具: bash,mkdir,rm,git,curl,unzip,which 安装步骤1.下载安装包,本篇是针对Flutter 1.0版本。下载地址(密码:fibg) 2.在你要安装的位置提取下载的压缩包 跳转到指定的目录(我在安装在根目录中的Developer文件夹中,可能在你的Mac地址中没有这个目录,你可以自己创建一个自己喜欢的目录) $ cd Developer/ 在指定目录中解压压缩包 $ unzip ~/Downloads/flutter_macos_v1.0.0-stable.zip 3.将Flutter工具添加 ...
阅读全文 »

iOS学习笔记之UICollectionView小结

发表于 2019-01-05 | 分类于 总结
字数统计: 3k 字
这里就是对UICollectionView的一个个人总结,不喜勿喷,如有不妥之处,望请指正🙏🙏🙏 简介UICollectionView是iOS 6新引进的API,用于展示集合视图,布局更加灵活,可以显示多列布局,具有高度定制内容展示样式的能力,用法类似UITableView和UITableViewController类似。 重要组成部分UICollectionViewCell生命周期1iOS 6 ~ iOS 9 当屏幕外有一个cell准备划入屏幕即将显示的时候,会将cell通过重用标识符从reuse队列里取出来,然后会调用func prepareForReuse()(cell上边缘马上进入屏幕的时候调用),这个方法会重制cell,再滑动的话,就会调用func collectionView(_ collectionView: UICollectionView, cellForIte ...
阅读全文 »

App Store审核被拒原因小结

发表于 2019-01-01 | 分类于 错误记录
字数统计: 653 字
前言一直以来都想写博客的,做总结的。但是一直因为各种各样的事拖着,也算是用这个总结立一个flag。 APP项目开发完成之后,期待审核上线,但是很多APP都过不了这一关,针对APP审核不通过常遇问题,苹果在开发者平台将导致软件审核被拒绝的十个原因,最主要的几项是有Bug、连接失败、描述不准、存在误导用户等。 本篇持续更新~当然总结呗,肯定是实际开发遇到的,作为一枚码畜的话,也不想被苹果拒绝。 正文问题一被拒原因Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage We noticed that your app requests the user’s consent to access their location but does not clarify the use of this feature in the ...
阅读全文 »
12

Kity Pei

13 日志
4 分类
4 标签
GitHub E-Mail
© 2018 — 2019 Kity Pei | Site words total count: 19.9k
本站总访问量 次 | 有人看过我的博客啦