- 博客(43)
- 收藏
- 关注
原创 iOS开发-使用Playground练习算法-Swift
使用Playground的方法网上很多,这里不讲建个Playground文件用来练习算法冒泡排序var array1 = [3,5,2,7,4]func bubbleSort(arr: inout [Int]) { for i in 0..<arr.count-1 { for j in 0..<arr.count-1-i { if arr[j] > arr[j+1] { let tmp = arr[j
2020-10-28 14:41:29 336
原创 【iOS开发】SwiftLint——代码规范工具
目的包括PMS及以后的Swift项目在多人开发中,即使有官网的规范模板,每个人的代码风格和规范难以做到完全一致,对后期项目维护会增加一定的困难。使用SwiftLint可以对规范代码有很大帮助。SwiftLint是啥SwiftLint是Realm公司开发的一个插件,专门用于管理Swift代码的规范,能够对原有的代码自动格式化,在 Xcode 中执行编译时,SwiftLint 会自动运行检查,不符合规范的代码会通过警告或者报错的形式指示出来,并且拥有丰富的配置项,可以进行大量的自定义规范操作,是一个很方
2021-06-15 16:41:07 1319 2
原创 【PMS】开发文档
设计与编码一、代码管理远程仓库地址是:xxxx代码规范与建议安装SwiftLint,全程按照Swift推荐的设计规范约束代码。使用//MARK: - 对代码进行分割,常用的有UI、Event、各种Delegate、LifeCycle(生命周期)、Data、Other。带横杠有分割线,不带横杠没有分割线使用//TODO: 对未完成或存疑的功能进行标记,加上名字日期等标注就更好了合理使用extension给控制器和功能强大的工具类瘦身在循环引用的闭包中,使用[weak self]避免
2021-06-15 16:35:33 529 4
原创 【PMS】表单页面的通用处理
ForWhat表单页面是目前PMS项目中常见的页面形式,目前用于项目、线索、企业、企业联系人、任务等的创建和编辑或查看功能。经过对业务逻辑、页面样式的解读,目前选用UITableViewController,在其中使用自定义Cell的方式。形成通用功能和兼顾自定义样式的结构。主要为解决表单形式多变、业务需求多变的适配问题。Class控制器层:BaseFormVC:继承自UITableViewController,封装一些常用方法和属性,如通用的事件、数据源和代理方法、对数据和view的处理、检查
2021-06-15 16:14:32 252
原创 iOS开发-OC混编Swift项目-全面实战各种坑
注意事项oc不能继承Swift类,所以向oc项目中添加的Swift类不能包含oc的子类。Swift文件和.m不能重名。继承oc的类的Swift类才能在oc中使用。编译场景问题用oc新建的iOS项目,在swift文件中默认使用release编译场景,如果需要用到DEBUG,需要在Build Settings-Swift Compiler-Active Compilation Conditions添加DEBUG或者在OTHER_SWIFT_FLAGS中添加-DDEBUG。也可以新增其他的编译场景。
2020-10-22 19:19:25 1623
原创 【申硕】使用线性归结法证明定理
基本过程将已知条件化作子句集将结论的否定化作子句集从所有子句集中选取两个可归结的子句进行归结重复过程3,直到出现空子句NIL为止,这时,证明在所给已知条件下结论成立。开胃例题真题1使用线性归结法证明A1∧ A2∧ A3 →B其中答:要证明A1∧ A2∧ A3 →B,也就是要证明A1∧ A2∧ A3 ∧~B是永假式(矛盾式)(这句话要答上)结果是NIL,命题得证真题2答:用到的基础知识...
2020-10-18 21:52:15 3601 4
原创 Carthage在Xcode12编译问题
Carthage在Xcode12编译问题使用Xcode12进行carthage更新,运行以下命令carthage update --platform iOS --no-use-binaries*** Building scheme "Alamofire iOS" in Alamofire.xcworkspace编译失败Build Failed Task failed with exit code 1: /usr/bin/xcrun lipo -create /Users/gaoqingh
2020-10-15 18:28:07 2648 7
原创 iOS开发-项目中常用的工具方法-swift
swift项目一些常用的工具方法,即拖即用,持续更新。QHUtil字符串合法性判断判断手机号码合法性判断密码合法性判断邮箱格式判断身份证号判断银行卡号判断字符串中是否全是汉字判断是否为整型判断字符串条件 1:数字 2:英文 3:符合的英文+数字判断字符串是否存在UIView工厂方法创建label创建button创建textField创建imageView创建viewDate相关日期转字符串字符串转日期字符串转字符串其他存取偏好设置打电话使用‘*
2020-10-04 22:12:37 472
原创 iOS开发——IPA瘦身
iOS开发——IPA瘦身删掉无用照片图片压缩查看可执行文件,清理第三方库iOSApp在迭代过程中,ipa包不可避免地越来越大,能不能瘦身呢?删掉无用照片首先考虑比较占用硬盘的是图片,使用LSUnusedResources分析项目中无用的图片,搜索完图片后,点表头Size排个序,看看有没有比较大的图片,将其批量删除,或者更稳妥的办法是人工校对后将其移出项目,也可以暂存到别的地方备用,以防删错。......
2020-04-27 14:16:34 869
原创 Ionic跨平台项目(九) 自定义cordova plugin(iOS)
插件的意义 plugin(全文都叫插件)是一个注入代码的包,它允许app呈现的Cordova webview与其运行的native平台进行通信。插件可以访问基于Web的app通常不可用的设备和平台功能。所有主要的Cordova API功能都可以实现为插件,还有许多其他功能可用于实现诸如条码扫描器,NFC通信或定制日历界面等功能。您可以在Cordova插件搜索页面上搜索可用的插件...
2018-04-27 17:14:52 709
原创 Ionic2跨平台项目(六)cordova多项目热修复
上篇文章详细介绍了cordova+Android项目的热修复过程,本篇探讨下,一个cordova项目如何集合多个cordova项目,它们是如何协作的,以及如何对他们分别进行热修复。多cordova项目集合我们探讨这样一种情况,要做一个综合管理的ionic项目。需要多个团队共同开发多个项目然后集合到这一个项目里,最终实现的效果是在ionic项目中或者是在原生项目中,能进入另外若干个完整的...
2018-04-27 17:14:11 414
原创 《浪潮之巅》读后感
花了两个月的时间,伴随着北京拥挤的地铁人群,读完了厚厚的两本《浪潮之巅》,意犹未尽。感受到了与大师级人物的差距,也见识到了吴军博士的诚意和IT等各个方面的水平,在他谆谆教诲下学习到了很多。最近几年,由于工作繁忙,我完整读过的书不多,感觉毕业之后完整读一本书,还是挺不容易的,时间太碎了,哈哈。但是虽说不容易,这本书却是书香味诱着我读完的。吴军博士乃是做IT技术出身,却表现出深厚的语文功底,然后结...
2018-04-27 17:10:02 3580
翻译 iOS11适配-Safe Area
在iOS 7中,苹果介绍了UIViewController中的topLayoutGuide和bottomLayoutGuide这两个属性,用来描述一个不被任何内容遮挡的屏幕区域,比如说顶部状态栏status bar、导航栏navigation bar、工具栏toolbar、菜单栏tab bar等。在IOS 11,苹果弃用了这些属性而启用safe area。苹果建议我们不要把任何交互放在safe a...
2018-04-17 13:21:30 13372
转载 Ionic跨平台项目(十)从Ionic2升级到Ionic3
2017年4月5日 ionic3正式发布了,对于从ionic2 rc版本开始用的我也进行了这次升级并且平稳运行在项目上,在我看来升级ionic3是很有必要的。
2017-10-26 11:05:19 1320
原创 Ionic2跨平台项目(一)简单探讨及iOS项目创建
技术背景为了开发html5,除了最新使用React Native等之外,目前首选稳定的ionic+Angularjs来开发iOS 和Android。(加入qq群:64903116讨论更多ionic2相关)。Ionic是一款可以使用html5构建混合移动应用的用户界面框架,它自称是“本地与html5的结合”。
2017-06-02 17:26:21 1323
转载 Git用法之撤销操作
任何一个版本控制系统中,最有用的特性之一莫过于 “撤销(undo)”操作。在Git中,“撤销”有很多种含义。当你完成了一次新的提交(commit),Git会及时存储当前时刻仓库(repository)的快照(snapshot);你能够使用Git将项目回退到任何之前的版本。下文中,我将列举几个常见的、需要“撤销”的场景,并且展示如何使用Git来完成这些操作。一、撤销一个公共修
2017-05-19 17:25:45 904
转载 Ionic2跨平台项目(五)热修复(正儿八经Android)
原文地址:http://blog.csdn.net/lovelyelfpop/article/details/50848524#local-development-add-on插件地址:https://github.com/nordnet/cordova-hot-code-push下面是我对GitHub项目readme的翻译—————
2017-04-18 10:32:55 1983 1
原创 Ionic2跨平台项目(四)热修复(本地测试)
一、技术背景本文主要探讨github一个有名的插件:cordova-hot-code-push,其用于实现cordova项目热修复,具体做法在github上写的很清楚,本文主要简单介绍一下用法和其在Ionic2环境如何使用。这个插件主要用于实现对app上基于web的内容进行动态更新,从根本上来说,就是使用这个插件以后,所有存在www文件夹里的内容都可以动态更新。二、应用场景当你把应
2017-03-21 15:01:39 1143 3
原创 Ionic2跨平台项目(三)IDE及调试
以前没有做过前端开发,试着用了HBuilder、Sublime Text2、Visual Studio Code、WebStorm,其中HBuilder界面不好看,Sublime Text2不给typescript提示,WebStorm需要破解,所以用Visual Studio Code最好了,界面好看,上档次。听说Visual Studio Code (简称 VS Code / VSC)
2017-03-10 10:33:30 4266
原创 Ionic2跨平台项目(二)网络请求及使用实体类
创建好Ionic2项目后,作为完全入门者,除了系统学习angular2、typescript语法之外,需要通过实现一些小功能来练习和熟悉项目的结构和angular2的思想,做一个简单的登录界面demo,实现基本的网络请求和数据使用。1、首先,创建login目录,终端输入:$ ionic g page login2、在login.html中实现界面布局:
2017-03-08 11:51:46 2313 4
原创 Ionic2跨平台项目(一)简单探讨及iOS项目创建
一、 技术背景为了开发html5,除了最新使用React Native等之外,目前首选稳定的ionic+Angularjs来开发iOS 和Android。(加入qq群:64903116讨论更多ionic2相关知识;由于本篇文章格式不太适合查看,本文已迁移到另一篇)。 Ionic是一款可以使用html5构建混合移动应用的用户界面框架,它自称是“本地与html5的结合”。该框架提...
2017-02-27 17:28:16 7711 6
转载 iOS开发——在 OC 项目中使用基于 Swift 的 CocoaPods 库
在 OC 项目中使用基于 Swift 的 CocoaPods 库随着 Swift 的流行,各种神奇的库也开始有对应的 Swift 版本了,而其中一些更神奇的库却只有 Swift 版本…正巧接手了一个前人用 Swift 写的项目,里面有一个非常关键的图表库,找了半天硬是没有发现类似的 OC 版开源库。出于不想造轮子的心态,就让我们这些”落后”的 OC 党想办法兼容这些库吧!好在苹
2016-05-16 16:29:11 5057 1
转载 iOS开发——Carthage:去中心化的Cocoa依赖管理器
Cocoa的依赖管理器,我们已经有了CocoaPods,非常好用,那么为什么还要创建这样一个项目呢?本文翻译自Carthage的Github的README.md,带大家来了解一下这个工具有何不同之处。Carthage的目标是用最简单的方式来管理Cocoa第三方框架。基本的工作流如下:,创建一个Cartfile,包含你希望在项目中使用的框架的列表运行C
2016-02-29 14:58:46 716
转载 iOS开发——iOS状态栏和导航栏的控制问题
首先一点,IOS的界面分为状态栏和导航栏,状态栏是指显示电池、时间的最顶部的一个窄条,高度为20个点;而导航栏是紧接着状态栏的44个点高度的横条,一般用于显示app标题,返回按钮等操作按钮。在ios7之前,状态栏和导航栏是分开的,而从ios7开始状态栏和导航栏交织在一起了,状态栏变为透明,导航栏的高度变为44+20=64:状态栏控制对状态栏的控制分两种情况:全局
2016-02-29 09:36:46 1848
转载 iOS开发——app的五种生命周期状态
应用生命周期一、未运行(Not Running):此状态表明所有应用都位于一个刚刚重新启动的设备上,在设备打开状态i,不论应用在何时启动,只有遇到以下状况应用才返回未运行状态:应用的Info.plist包含UIApplicationExitsOnSuspend键(并且其值设置为YES)应用之前被挂起且系统需要清楚一些内存应用在运行过程中崩溃二、活跃(Active):这是
2016-02-29 09:22:13 2021
转载 iOS开发——43个优秀的swift开源项目
“轮子”工具类SwiftyJSON:GitHub上最为开发者认可的JSON解析类Dollar.swift:Swift版Lo-Dash(或underscore)函数式工具库OAuthSwift:国外主流网站OAuth授权类库PathKit:小而美的路径管理类XCGLogger:功能完整的日志管理类库Surge:基于苹果Accelerate高性能计算框架封装库Async:简洁的
2016-02-25 14:52:28 1189
原创 iOS开发——优秀的第三方框架之SDWebImage
我们为什么要用它?图片缓存是编程过程中比较难、麻烦的一件事,且很占内存资源,如果有大量的图片处理,最好能有一个好用的工具来帮我们完成网络图片的缓存管理、异步下载等操作。SDWebImage就是这样一个工具。作用:1、对网络图片和缓存进行管理2、一个异步图片下载器3、支持GIF动图4、支持WebP格式5、背景图片解压6、保证同一个URL不会被多次下载7、保证假网址
2016-02-25 10:00:00 540
原创 Git用法之不常用命令
检查与比较$ git showgit show 命令可以以一种简单的人类可读的方式来显示一个 Git 对象。 你一般使用此命令来显示一个标签或一个提交的信息。$ git shortloggit shortlog 是一个用来归纳 git log 的输出的命令。 它可以接受很多与 git log 相同的选项,但是此命令并不会列出所有的提交,而是展示一个根据作者分组的提交记录的概
2016-02-25 09:39:38 494
原创 Git用法之常用命令
以下常用命令按照功能分类,与使用顺序无关。设置与配置$ git configGit 做的很多工作都有一个默认方式。 对于绝大多数工作而言,你可以改变 Git 的默认方式,或者根据你的偏好来设置。 这些设置涵盖了所有的事,从告诉 Git 你的名字,到指定偏好的终端颜色,以及你使用的编辑器。 此命令会从几个特定的配置文件中读取和写入配置值,以便你可以从全局或者针对特定的仓库来进行设
2016-02-25 09:35:22 1074 2
原创 Git用法之配置信息和帮助
初次运行Git前的配置既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:/etc/gitconfig 文件: 包含系统上每一个用户及他
2016-02-25 09:32:52 471
原创 Git用法之打标签
像其他版本控制系统(VCS)一样,Git 可以给历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点(v1.0 等等)。
2016-02-25 09:24:56 1734
原创 Git用法之撤销操作
在任何一个阶段,你都有可能想要撤消某些操作。 这里,我们将会学习几个撤消你所做修改的基本工具。 注意,有些撤消操作是不可逆的。 这是在使用 Git 的过程中,会因为操作失误而导致之前的工作丢失的少有的几个地方之一。
2016-02-24 14:33:24 402
原创 Git用法之配置忽略文件
一般我们总会有些文件无需纳入Git的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以创建一个名为.gitignore的文件,列出要忽略的文件模式。
2016-02-24 14:31:30 599
原创 Git用法之远程分支
远程跟踪分支是远程分支状态的引用。 它们是你不能移动的本地引用,当你做任何网络通信操作时,它们会自动移动。 远程跟踪分支像是你上次连接到远程仓库时,那些分支所处状态的书签。
2016-02-24 14:06:53 513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人