博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发月报#2|201808
阅读量:5894 次
发布时间:2019-06-19

本文共 3630 字,大约阅读时间需要 12 分钟。

数据库用完要close

当我们向下面这样执行完一次数据可查询时,要记得将数据库关闭,否则,如果此时想往同一数据库写东西的话会因为数据正在锁定收到这样的提示database is locked

//获取下载完成的文件信息func isExistdWith(_ id: String) -> Bool{guard db.open() else {return false}do {let resultSet = try db.executeQuery("select * from tableName where id = ?", values: [id])if resultSet.next() {let isCompleted = resultSet.bool(forColumn: self.isCompleted)db.close()//return之前要close数据库return isCompleted}} catch {}db.close()//return之前要close数据库return false}复制代码

UIDatePicker的时间格式

当我们用UIDatePicker做选择时间的控件时,DatePicker会根据手机时间的设置自动选择是12小时制还是24小时制,如果我们需要强制控制DatePicker是显示12小时制还是24小时制可以这么做:

datePicker.datePickerMode = .timedatePicker.locale = Locale.init(identifier: "en_GB")//for 24 HrsdatePicker.locale = Locale.init(identifier: "en_US")//for 12 Hrs复制代码

iOS skill map

变量对外只读,对内可读写

struct Person {private(set) var name : String!}复制代码

设置UITableViewCell分割线对齐

默认的cell分割线都是偏向右边多一些的,如果我们想让分割线对齐的话,正确的做法是:

tableView.separatorInset = UIEdgeInsets.init(top: 0, left: 40, bottom: 0, right: 40)复制代码

设置左右边距都是40 但是使用这种方法会带来一个问题就是默认的textLabel会跟着右移。为了保持label的居中我们可以再加一句:

tableView.separatorInset = UIEdgeInsets.init(top: 0, left: 40, bottom: 0, right: 40)tableView.layoutMargins = UIEdgeInsets.init(top: 0, left: 40, bottom: 0, right: 40)复制代码

富文本显示图片元素

如果我们需要文字中插入图片元素时,可以使用富文本处理:

let attch = NSTextAttachment()attch.image = UIImage.(named:"logo")attch.bounds = CGRect.init(x: 0, y: 0, width: 18, height: 18)let imageAttribute = NSAttributedString(attachment: attch)titleLabel.attributedText = attributed复制代码

添加spotlight搜索索引

首先导入CoreSpotlightMobileCoreServices框架,然后加入以下代码:

var searchableItems = [CSSearchableItem]()//索引项let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeData as String)//titleattributeSet.title = "Item Title"//desriptionattributeSet.contentDescription = "match.description"//thumbattributeSet.thumbnailData = try? Data.init(contentsOf: URL(string: url)!)//keywordsattributeSet.keywords = ["Love", "Peace"]let searchableItem = CSSearchableItem(uniqueIdentifier: "app_keywords", domainIdentifier: "com.company.app", attributeSet: attributeSet)searchableItems.append(searchableItem)//建立索引            CSSearchableIndex.default().indexSearchableItems(searchableItems) { (error) -> Void inif error != nil {print(error?.localizedDescription ?? "Error")}}复制代码

Hexo编译问题

在执行hexo g编译markdown文件时莫名报错:

TypeError: Cannot set property 'lastIndex' of undefined复制代码

解决方案是在_config.yml中将auto_detect设为false

Podfile用法

# 下面两行是指明依赖库的来源地址source 'https://github.com/CocoaPods/Specs.git'source 'https://github.com/Artsy/Specs.git'# 说明平台是ios,版本是8.0platform :ios, '8.0'# 忽略引入库的所有警告(强迫症者的福音啊)inhibit_all_warnings!# 生成的是framework而不是静态库use_frameworks!# 针对MyApp target引入AFNetworking# 针对MyAppTests target引入OCMock,target 'MyApp' do pod 'AFNetworking', '~> 3.0' target 'MyAppTests' doinherit! :search_paths pod 'OCMock', '~> 2.0.1' endpod 'JSONKit', :podspec => 'https://example.com/JSONKit.podspec'# 引入内部库pod 'ABTest', :git => 'https://bitbucket.org/sealcn/remoteabtest.git'pod 'ABTest', :git => 'https://bitbucket.org/sealcn/remoteabtest.git', :tag=> '0.0.6'pod 'ABTest', :git => 'https://bitbucket.org/sealcn/remoteabtest.git', :commit=> '082f8319af'# 编译配置,指定仅在Debug模式下启用pod 'Reveal-SDK', :configurations => ['Debug']# 使用本地文件pod 'AFNetworking', :path => '~/Documents/AFNetworking'# 指定版本号0.1.3到0.2,不包括0.2pod 'CHIPageControl', '~> 0.1.3'# 仅安装QueryKit下的Attribute和QuerySet模块pod 'QueryKit', :subspecs => ['Attribute', 'QuerySet']end# 这个是cocoapods的一些配置,官网并没有太详细的说明,一般采取默认就好了,也就是不写.post_install do |installer|       installer.pods_project.targets.each do |target| puts target.name endend复制代码

转载于:https://juejin.im/post/5bbc6393f265da0add51db2f

你可能感兴趣的文章
CentOS6.4下vsftpd使用MySQL验证
查看>>
判断两文件是否一致
查看>>
网页无缝上下滚动
查看>>
Android:ListView、CheckedTextView 、setOnItemClickListener
查看>>
使用sbt搭建Scala开发环境的总结
查看>>
***-PPTP
查看>>
今天算是体验了一把百度杀毒和360冲突的问题
查看>>
视频播放器,硬件加速,谁更牛X?
查看>>
双向同步软件Unison的安装与配置
查看>>
Samba-ADS部署
查看>>
利用open×××自带的http-proxy突破防火墙的封锁
查看>>
Windows Server 2008 R2入门之NTFS权限
查看>>
hibernate正向工程创建数据库createDB.java
查看>>
Windows Server 2008 R2与Windows 7驱动器映射及本地账户管理实例
查看>>
bind主从同步,从服务器区域文件乱码
查看>>
网络请求顺序执行,顺序回调
查看>>
利用SVN的post-commit钩子实现多项目自动同步
查看>>
kafka配置说明
查看>>
交换机端口安全配置实验(MAC动态绑定和静态绑定)
查看>>
ubuntu 安裝 qtcreator
查看>>