草庐IT

ios - Swift iOS - 将数据作为包含自定义模型的自定义模型添加到 Firestore

所以我有两个自定义模型类。一个是Story,另一个是Page。Story包含多个属性,包括一组pages。structStory{varname:Stringvarpages:[Page]vartags:[String]varlikes:[String]varisPrivate:Boolvardictionary:[String:Any]{return["name":name,"pages":pages,"tags":tags,"likes":likes,"isPrivate":isPrivate,]}structPage{letthumbnail:Stringletimage:Str

swift - ARKit 3 People Occlusion 是否仅限于 iPhone X 和更新版本?

我开始研究iOS13上新的PeopleOcclusion效果,所以我下载了sampleproject并尝试在我的设备上编译。在iOS13iPhone7Plus上运行,出现如下错误:2019-09-1113:49:41.257236-0300ARMatteExampleSwift[7298:1369425]MetalGPUFrameCaptureEnabled2019-09-1113:49:41.257845-0300ARMatteExampleSwift[7298:1369425]MetalAPIValidationEnabled2019-09-1113:49:41.589383-03

Swift whit Xcode 递归枚举实现(使用枚举模拟加减乘除复合运算)

//递归枚举值实例enumExpression{//单个数值casenum(param:Int)//表示加法运算将Expression作为相关值参数类型indirectcaseadd(param:Expression,param2:Expression)//表示减法运算将Expression作为相关值参数类型indirectcasesub(param:Expression,param2:Expression)//表示乘法运算将Expression作为相关值参数类型indirectcasemul(param:Expression,param2:Expression)//表示除法运算将Expres

【Swift】公司项目性能优化(一)

  随着项目开发接近了尾声,改Bug和性能优化成了工作的重中之重,移动端开发,最注重用户体验,一个丝滑般的应用程序能在用户心里加很多印象分。  1、优化列表的滑动速度  作为内容创作类的app,里面包含了大量的写作、画作、小说、动态等多种动态高度的样式;列表滑动不卡顿,就成了用户体验的关键问题。  1)Autolayout自动布局比直接计算frame消耗更多的CPU资源,所以在确定内容位置、宽高情况下最好使用frame。  2)使用线程来处理文本、尺寸计算、图片处理等;避免卡顿主线程;  3)对于动态高度的cell,最好能提前计算好,缓存到数据模型中,减少计算高度所浪费的时间;  4)滑动过程

【Swift】拆分小说阅读器功能,分享内部实现

  公司项目结束了,公司估计也快黄了,年底事少,也给了我不少时间来维护博客。  公司的项目是一个类似于简书的创作平台,涵盖写作、小说、插画内容。  本期主要先下小说阅读部分,UI样式仿照的是微信读书样式,因之前也写过小说阅读器,但是代码并没有解耦,这次彻彻底底做一次大改动。   小说用户的常见操作:当前阅读进入记录和书签列表,因公司项目的结构问题,目前新项目并没有做项目进度记录和书签保存功能,以后有优化时候,再补充相关内容。先看下小说的结构。   小说的主要模型ReadModel  小说章节模型classJFChapterModel:NSObject{vartitle:String?varpa

【Swift/Objective-c】公司项目优化(二) - 下拉刷新抖动问题

  使用MJRefresh进行列表下拉刷新时,会出现列表上下颤抖问题  抖动的原因  我们先来看看在手松开之后我们对scrollView做了什么事情:  ScrollViewDidEndDragging => setContentInset:  为了保证在“Loading”的状态下,下拉刷新控件可以展示,我们对contentInset做了修改,增加了inset的top.那这样一步操作为什么会导致scrollView抖动一下呢。  我在scrollViewDidScroll:中打了个断点,来看看在setContentInset:之后发生了什么事情。我设置的inset.top=64;结果发现scr

【Swift】GRDB数据库本地存储聊天记录

  ////DataManager.swift//GRDBDemo////CreatedbyAppleon2021/4/21.//importGRDBstructDataBaseName{///数据库名字staticlettest="conversation.db"}///数据库表名structTableName{staticletmessage="ChatMessage"}///数据库连接classDBManager:NSObject{///数据库路径privatestaticvardbPath:String={//获取工程内容数据库名字letfilePath:String=NSSearch

swift 闭包本质,闭包表达式,尾随闭包

1.闭包一个函数和它所捕获的变量/常量环境组合起来,称为闭包一般指定义在函数内部的函数一般它所捕获的是外层函数的局部变量/常量typealiasfn=(Int)->IntfuncgetFn()->fn{ varcount=0 funcsum(_i:Int)->Int{ count+=i returncount } returnsum}varf1=getFn()f1(1)f1(1)f1(1)f1(1)结果:解释:闭包能够使用其外层函数的局部变量,所以函数值能够增加本质:编译器给sum函数外层getFn函数的count属性分配了堆空间,所以count变量不会在getFn函数执行完后销毁,因

ios - 如何在 Swift 上使用 RESTKIT 处理来自 JSON 的 Null 映射

当从我的服务器收到包含空值(在JSON响应中)的答案时,RestKit内部映射在处理空值时崩溃。有什么办法可以克服这个问题吗?我曾尝试扩展NSNull以包含“缺失的”方法,但这没有用,而且似乎是错误的。以下是我的映射和目标代码以及restkit输出:对象映射:vartempmapping=RKObjectMapping(forClass:PRLAUser.classForCoder())tempmapping.addAttributeMappingsFromDictionary(["firstName":"firstName","secondName":"lastName","emai

ios - PopOverViewController 中的 UIActivityViewController 在 Swift 中崩溃

我有一个用于共享按钮的UIActivityViewController。对于iPhone,我将它作为常规的UIActivityViewController使用,对于iPad,它在PopOverViewController中。这是我的代码lettextToShare="Checkoutthiswebsite!"ifletmyWebsite=NSURL(string:"http://www.apple.com/"){letobjectsToShare=[textToShare,myWebsite]letactivityVC=UIActivityViewController(activity