
Swift
程序员阿俊
热爱code
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
iOS【Undefined symbols for architecture i386: 错误的解决办法】
首先声明因为我是在真机上编译的项目,所以报错的架构(CPU指令集)为arm64。如果我们使用64位模拟器(iPhone simulators 5s 或更高版本)编译或者运行项目,就会报以下错误:Undefined symbols for architecture x86_64:如果我们使用32位模拟器(iPhone simulators 5 或更低版本)编译或者运行项目,就原创 2017-09-13 23:46:21 · 1928 阅读 · 0 评论 -
iOS【开发即时通讯 SocketIO - 使用篇】
项目正好用到了即时通讯功能,于是研究到了webSocket技术,后来发现了可以在web、[Android]、[iOS]上同时使用的解决方案,那就是SocketIO。其实现原理啥的不做介绍了,直接贴上IOS项目可能会用到的一些资源。首先是官网:http://socket.io/ 这个大家都不会陌生吧~~1、官方推荐的Android项目:http://socket.io/blog/na原创 2017-09-11 00:22:25 · 2841 阅读 · 0 评论 -
Swift4.0【Optional String 类型 强制拆包】
Swift4.0中 String的 Optional在String作为urlString去初始化url并进行网络访问时,会出现url为Optional包string的错误情况 如:在AFNetwork3.1的get请求中使用Optional 类型的 String时,会有如下错误: //NSErrorFailingURLStringKey=Option原创 2017-09-30 22:04:04 · 3233 阅读 · 0 评论 -
iOS【TableView-CollectionView 空状态加载视图DZNEmptyDataSet—空白数据集显示框架】
GitHub地址:DZNEmptyDataSetstar:9000+ ⭐️⭐️⭐️ 以下内容来源于官方源码、 README 文档、测试 Demo 以及个人使用总结 ![TOC]DZNEmptyDataSetDZNEmptyDataSet 是基于UITableView/UICollectionView转载 2017-09-21 16:10:41 · 2892 阅读 · 0 评论 -
iOS【git分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程】
由于rebase执行速度慢,分支同步主干代码时,分支的每次提交都可能和主干产生冲突,需要解决的次数太多,影响提交效率。 同时,为了保证主干提交线干净(可以安全回溯),所以采用下面所说的merge法。merge法核心: (master) git merge feature --squash 意思是把feature分支不同于master分支的所有文件罗列出来(无论有几个提交),然后就可以方原创 2017-10-19 10:33:43 · 1673 阅读 · 0 评论 -
iOS【根据经纬度获取地名,根据地名获取经纬度】
1. 根据经纬度获取地名[objc] view plain copyCLGeocoder *clGeoCoder = [[CLGeocoder alloc] init]; [clGeoCoder reverseGeocodeLocation:newLocation completionHandler: ^(NSArray *placem原创 2017-10-13 12:05:32 · 1875 阅读 · 1 评论 -
Swift【App版本更新】
Swift有对应的版本更新库(Siren),有需要的可以参考和使用。iOS开发中,有时会有这种需求,在AppStore上出现新版本时,应用内弹窗提示用户更新.自动提示更新的实现方案分为两种:第一种,自己服务器提供一个接口,通过请求,获取app的相关的版本信息,如:是否需要更新,以及更新的地址等信息第二种,就是利用苹果的appstore 提供的相关原创 2017-11-08 15:03:37 · 2749 阅读 · 0 评论 -
Swift【优化Swift项目编译时间】
前言Swift编译时间过长,是件难以忍受的事情。你能忍心看着几行看似简单的代码,慢吞吞的编译吗?╮(╯_╰)╭。下面来介绍几种减少编译时间的方法。查看每个函数编译时间若要对症下药,首先要抓住作祟的小鬼。有2种方法。1、在build setting中,设置Other Swift Flags为-Xfrontend -debug-time-function-bodies。这样编译时清楚的看到每个函原创 2017-11-09 10:56:12 · 1785 阅读 · 0 评论 -
iOS【NSTimer到底准不准?】
NStimer准吗?如果不准该怎样实现一个精确的NSTimer?既然这样问了,那从题目的角度出发,NSTimer肯定是不准的,但是它是以哪个精确度来作为“准”的标准呢,我们试着来探讨一下。环境:Xcode9,模拟器iPhone7(iOS11),iPhone6(iOS10)NSTimer我们来写一段代码- (void)touchesBegan:(NSSet *)touches withEv原创 2017-11-23 20:11:26 · 2420 阅读 · 0 评论 -
iOS【完美解决SDWebImage加载多个图片内存崩溃的问题】
SDWebImage大家肯定都恨熟悉了,国内外太多的App使用其进行图片加载。但是最近在使用过程中发现,我用SDWebImage加载多个图片,类似微博动态那种,在加载的过程中。我发现当图片分辨率比较大的时候(不是图片大),加载几张图片就崩溃了。网上说可以每次加载图片清空memcache,但是效果并不好。 [[SDImageCache sharedImageCache]原创 2018-06-19 23:50:44 · 3698 阅读 · 0 评论 -
iOS【最新资源汇总】
LearningIOSiOS初学者面对网上浩瀚的资料往往不知所措,为了让iOS初学者们少走弯路,少花时间在搜索资料上,个人为iOS初学者整理了一份学习资料。希望能帮助到大家。源地址:https://github.com/zhouhuanqiang/LearningIOS.git培训班视频教程地址 简介 传智播客公开课 传智播客iOS公开课 传智播客2016年基础...转载 2018-07-20 09:37:27 · 1143 阅读 · 0 评论 -
iOS【升级Xcode遇到的 An internal error occured. Editing functionality may be limited 问题解决方法】
升级Xcode10后发现操作发现无法编辑storyboard上的控件查阅了很多资料发现还是没办法解决,最后发现只需要操作以下步骤就可以解决:1.Xcode-->product-->clean:俗称command+shift+k2.command+Q 完全退出Xcode3.重启即可复原亲测可以,简单暴力直接 ...原创 2018-09-18 21:57:06 · 6125 阅读 · 0 评论 -
iOS【开发适配iPhone XS, iPhone XS Max, iPhone XR】
官方适配视频:Building Apps for iPhone XS, iPhone XS Max, and iPhone XR。原视频连接 https://developer.apple.com/videos/play/tech-talks/207/总结为以下几点:一、 屏幕大小适配三款手机,分别是iPhone XS,iPhone XR,iPHone X Max,其中...原创 2018-09-14 09:16:44 · 8836 阅读 · 0 评论 -
iOS【webView 加载微信文章注入JS实现交互 浏览图片及保存】
最近项目某个模块中要求可以实现对网页中图片的查看,并要求在多张图片的情况下可以实现滑动浏览。所以,问题的集中点就是如何获取所有的图片地址及添加图片的点击事件。不多说,直接上码!在网页加载完成时,通过js获取图片和添加点击的识别方式- (void)webViewDidFinishLoad:(UIWebView *)webView { [IDProgressHUD IDPlac原创 2017-09-11 00:20:50 · 1316 阅读 · 0 评论 -
iOS【开发常见错误https问题解决】
遇到的错误The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.少年莫慌,这是升级的ios9的https问题,解决起来很简单,关闭他,咱还是用http解决1:在Info.plist中添加NSAppTransp原创 2015-11-29 00:46:09 · 914 阅读 · 0 评论 -
iOS【BAT大公司面试题 ~ 非常好的面试题】
前言:在朋友群里老是看到好多人因为工作而苦恼,就随手从自己的笔记和网上选取了自己感觉还不错的iOS面试题,和大家分享下,共同学习,互相勉励!现在随着iOS平台开发的职位的增加,笔试、面试也越来越有“套路”,这里我总结了一些BAT面试题(还有网上收集的经典面试题),多数是Objective-C,适合于面试新人,有的借鉴他人的答案,有的是我自己答的,不准确的地方,欢迎私聊或者评论指出。转载 2017-09-10 21:08:47 · 3045 阅读 · 0 评论 -
iOS【Xcode 清理缓存、删除多余provisioning profile 证书】
我们开发久了,Xcode的缓存会越来越大,主要是会产生很多项目编译缓存,占用一大堆硬盘空间,这个时候就要清理了。笔者有次清理出20多G的空间,这是相当给力的,你也可以试试哈原创 2017-09-14 23:07:56 · 2665 阅读 · 0 评论 -
iOS【彻底清空APP缓存】
可以好不夸张的说,网上很多清空缓存的例子都存在这样活着那样的错误,要么不准确,要么清理不彻底。另外,很多地方计算缓存时转换单位的那一步,都是按1024计算,经过本人数十次验证,应该按1000计算。本人的这个demo也有参考网友的demo,但是进行了大修复。以下是一个封装的工具类: .h文件#import @interface ClearCacheT原创 2017-09-24 10:32:28 · 16915 阅读 · 2 评论 -
iOS【SwiftyJSON的常用方式】
初始化:let json = JSON(data: dataFromNetworking)1//这里的object是AnyObject,但是必须是能转会成JSON的数据类型。传错也没关系,最多你后面再也取不到数据了。let json = JSON(jsonObject)12Subscript “下标?”:从一个假定对应的是数组里面取doublelet name = jso原创 2017-09-24 18:49:32 · 1301 阅读 · 0 评论 -
iOS【开发 iOS11、iPhone X、Xcode9 适配指南】
不断完善中。。。(接下来会添加UITabBar和 WKWebView)更新iOS11后,发现有些地方需要做适配,整理后按照优先级分为以下三类:单纯升级iOS11后造成的变化;Xcode9 打包后造成的变化;iPhoneX的适配一、单纯升级iOS11后造成的变化升级后,发现某个拥有tableView的界面错乱,组间距和contentInset错乱,因为iOS11中UIViewCo原创 2017-09-24 22:43:20 · 3618 阅读 · 0 评论 -
iOS【YTKNetwork源码解析】
对于iOS开发者来说,就算是没有用过YTKNetwork框架,应该也见过,听过了。它是猿题库技术团队开源的一个网络请求框架,内部封装了AFNetworking。它把每个请求实例化,管理它的生命周期,也可以管理多个请求。在正式讲解源码之前,我会先讲一下该框架所用的架构和设计模式。我总觉得对架构和设计有一定的了解的话,会有助于对源码的理解。1. 架构先上图:YTKRequest转载 2017-09-17 10:36:28 · 1726 阅读 · 0 评论 -
iOS【使用MJRefresh上拉加载 回调将会多次调用的问题】
最近 升级Xcode 9 + iOS 11后,发现原本没问题的tableView出现了好多异常。使用MJRefresh上拉加载的时候如果没有更多数据,用上次的数据刷新tableview 然后【self.tableView.mj_footer endRefreshing】后,回调将会多次调用一、头部刷新UI出现了错乱。如上图 tableview已向下偏移原创 2017-09-25 23:43:31 · 7840 阅读 · 2 评论 -
iOS【内存中 堆与栈的理解】
内存数据在内存中的存放在计算机中,运行的应用程序的数据都是保存在内存中的。 不同类型的数据,保存的内存区域不同,其中包括:1:栈区(stack)由编译器自动分配并释放,一半存放函数的参数值,局部变量等。2:堆区(heap)由程序员分配和释放,如果程序员不释放,程序结束时,可能会由操作系统回收。3:全局区(静态区)全局变量和静态变量的存储是放在一起的,初始化的全局变量和静原创 2015-11-29 00:41:15 · 752 阅读 · 0 评论 -
iOS【Quartz2D简单介绍】
AJ分享,必须精品 iOS开发UI篇—Quartz2D简单介绍什么是Quartz2DQuartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统Quartz 2D能完成的工作:绘制图形 : 线条\三角形\矩形\圆\弧等绘制文字绘制\生成图片(图像)读取\生成PDF截图\裁剪图片自定义UI控件 Quartz2D在iOS开发中的价值为了便于搭建美原创 2015-11-29 00:42:07 · 389 阅读 · 0 评论 -
iOS【UIKit字符属性NSAttributedString概述】
AJ分享,必须精品 UIKit字符属性NSAttributedString概述字符属性字符属性可以应用于 attributed string 的文本中。 NSString *const NSFontAttributeName;(字体) NSString *const NSParagraphStyleAttributeName;(段落) NSString *con原创 2015-11-29 00:42:03 · 380 阅读 · 0 评论 -
iOS【开发之 屏幕触摸事件】
AJ分享,必须精品 iOS中的事件在用户使用app过程中,会产生各种各样的事件;iOS中的事件可以分为3大类型: 响应者对象–UIResponder在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”UIApplication、UIViewController、UIView都继承自UIResponder,因此原创 2015-11-29 00:41:55 · 1444 阅读 · 0 评论 -
iOS【手势事件旋转_缩放_拖拽】
AJ分享,必须精品 效果完成一个图片的捏合缩放,拖拽,旋转动作。设计思路拖拽:首先是最简单的拖拽//拖拽-(void)panTest{ UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] init]; [self.iconView addGestureRecogni原创 2015-11-29 00:42:34 · 508 阅读 · 0 评论 -
iOS【 APP检查版本更新 】
iOS程序自动提示更新的实现方案大致分为两种:第一种,自己服务器提供一个接口,告知相关app的当前版本,是否需要更新,以及更新的地址等信息 。第二种,就是利用苹果的appstore 提供的相关api进行查询更新。由于此前没有找到iOS程序更新的方法,就用了第一种方式,但后来发现了一些问题,自己提供服务器,需要维护,程序提交更新后,由于苹果需要审核,中间会有时间差,这个时原创 2017-09-10 21:03:36 · 739 阅读 · 0 评论 -
iOS【iOS开发员的代码规范】
利用上周的业余时间把这篇规范整理了出来,我会将这篇规范作为我们iOS团队的代码规范,并且还会根据读者的反馈,项目的实践和研究的深入做不定时更新,还希望各位朋友看了多多指正和批评。这篇规范一共分为三个部分:核心原则:介绍了这篇代码规范所遵循的核心原则。通用规范:不局限于iOS的通用性的代码规范(使用C语言和Swift语言)。iOS规范:仅适用于iOS的代码规范(使用Obj转载 2017-09-10 21:06:18 · 555 阅读 · 0 评论 -
iOS【Flutter「发布预览版 2」让 iOS 应用至臻完美】
Flutter 是 Google 面向移动端应用推出的一套跨平台开发工具,助力开发者在 iOS 和 Android 两个平台上开发高质量的原生应用界面。为期两日的中国 2018 Google开发者大会于今日在上海拉开帷幕。在大会主题演讲环节,我们推出了Flutter 「发布预览版 2」。这是我们在到达 Flutter 1.0 之前的最后一个主要版本。 在今年二月和六月,我们分别发布了 F...转载 2018-09-21 23:37:00 · 891 阅读 · 0 评论