程序媛->辣妈->程序媛+辣妈
文章平均质量分 66
I'm the Lemon's辣妈程序媛
一路走来我都是幸运儿,最应该谢谢大家的帮助!
展开
-
xib报错“nib must contain exactly one top level object which must be a UITableViewCell instance”
xib使用过程中报错及解决办法错误原因:“nib must contain exactly one top level object which must be a UITableViewCell instance”“nib必须恰好包含一个顶级对象,该对象必须是UITableViewCell实例”因为在xib界面该错误是在 xib 中的 cell 的同一层级出现了其他的控件,检查一下 xib 中左边的层级关系,让 cell 是唯一的控件就可以了。好好查找一个 删除多余的视图变成下面的就OK了原创 2020-08-27 09:44:38 · 1254 阅读 · 0 评论 -
2020-08-27升级cocoapod 及遇到的问题解决
因为新项目使用cocoapod sourcetree同步代码的时候发现我的cocoapod版本低 需要升级和小伙伴一样早上升级一下遇到一个errorERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.百度得知解决办法sudo gem install -n /usr/l...原创 2020-08-27 09:34:28 · 1170 阅读 · 0 评论 -
iOS 简单的Block使用与小结
Block的写法无参数void(^blockXX)() = ^{代码实现};有参数void(^blockXX)(参数列表) = ^(参数列表){代码实现};有参数有返回值返回类型(^blockXXX)(参数列表) = ^(参数列表){代码实现};调用block保存的代码block变量名(实参)typedef简化block声明作为属性声明typedef 返回类型(^BlockXX)(参数列表)属性@property(nonatomic,copy)BlockX原创 2020-06-19 11:31:11 · 370 阅读 · 0 评论 -
判断数据的是否为空
iOS 判断数据为空或者没有输入内容原创 2016-11-14 12:00:25 · 330 阅读 · 0 评论 -
阶段性iOS开发技术总结160826
计划着以后每周一次博客记录每个技术点一篇,每篇持续更新。。。。。。Storyboard Xib 中打全局断点,如果崩溃或产生异常发生在主函数时80%的可能性是Storyboard Xib脱线没有及时清理掉坏线。eg,某个控件的点击事件或者属性已经被删除但连线还在。。。。。。原创 2016-08-26 09:35:36 · 253 阅读 · 0 评论 -
iOS 多线程 (一)
女程序员的第一篇博客 从事开发原创 2014-10-21 10:13:00 · 426 阅读 · 0 评论 -
iOS 为图片 照片 添加水印 文字及图片
上午刚接到项目一个新的小需求,给上传的图片添加水印。就希望小组长不断给我新的小需求,一年了自己成长的太慢了,这么好的公司,这么好的环境,这么好的条件,这么差的我。在毕业的第一家公司的项目中就了解过绘图,百度了水印的相关技术看到和UIGraphicsBeginImageContext相关似曾相识,下面的方法可以直接使用,只需要传入你要加上水印的图片以及要显示的文字。-(UIImage *)waterMarkImage:(UIImage *)img withName:(NSString *)name原创 2020-08-05 13:37:59 · 700 阅读 · 0 评论 -
Swift @available #available guard
Swift 2.0 中,引入了可用性的概念。对于函数,类,协议等,可以使用@available声明这些类型的生命周期依赖于特定的平台和操作系统版本。而#available用在判断语句中(if, guard, while等),在不同的平台上做不同的逻辑。@available用法@available放在函数(方法),类或者协议前面。表明这些类型适用的平台和操作系统。看下面一个例子:@avail...转载 2019-04-25 08:29:33 · 1791 阅读 · 0 评论 -
iOS isEqualToString isEqual == 区别
在对现有项目的一个界面的数据显示中 需要对执行数据库操作后得到的两个数组进行比较 数组里要比较的内容是字符串 开始导致显示不正确的原因是我用“==”来判断两个数组中对应字符串是否相等,在iOS中“==”是判断地址是否相等,而对于字符串我们应该用isEqualToString或者isEqual都OK呢但是isEqual还不是很透彻的理解,为此百度了几篇文章总结如下:== 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否原创 2020-06-29 09:50:57 · 634 阅读 · 0 评论 -
Xcode11 新增SceneDelegate 及相关处理方法(续写之前的一篇相关文章)
2020年以来一直维护公司已有项目,突然想自己学点额外的东西,不想在年底继续给自己一个荒废时光的答卷。所以在工作之外准备新建项目,但是按照记忆中的步骤加上百度跑在模拟器上却是黑屏我的操作步骤1,Xcode新建项目(打算用自己的控制器作为跟视图)a,删除项目中plist文件中关于SceneDelegate的相关设置之后是这个样子b,在AppDelegate中的- (BOO...原创 2020-04-10 15:11:01 · 1094 阅读 · 0 评论 -
Mac下使用终端升级自带Python
这周开始尝试接触Python,早在一年前就了解过,但从未尝试去接触,因为要先用iOS找到一份合适的工作,稍微稳定后再丰富其他技术。首先在终端用“python”这个命令查看当前的python版本,估计不是最新的。那先面开始更新吧~一、下载最新Python1、官网下载地址:https://www.python.org/downloads/2、如果安装了Homebrew,直接通过命令bre...原创 2019-12-13 09:02:21 · 3463 阅读 · 2 评论 -
iOS 保存联系人到手机通讯录(CNMutableContact\CNContactViewController)
前言产品需求,将App内的个人信息,保存到手机通讯录,故了解到iOS9以后可以使用CNMutableContact和CNContactViewController,其中CNMutableContact是隶属于Contacts的Framework,CNContactViewController是隶属于ContactsUI的Framework,这里这两个Framework不作详解,有兴趣自己可以...原创 2019-11-14 14:02:31 · 1440 阅读 · 0 评论 -
iOS 使用xib布局 适配各机型遇到的小问题
公司App在个人信息界面需要添加一个修改头像的功能 使用xib布局后 也进行了autoLayout等进行了适配 当时使用的是iPhone 4s进行xib布局的 但是跑项目的模拟器是8p~结果导致想要的UIImageView圆角显示变得很丑 不是想要的结果如图其他型号模拟器有的更难看按照上面的正确的代码运行后就可以了如图原因是使用self得到的是当前xi...原创 2019-11-12 09:58:00 · 730 阅读 · 0 评论 -
xcode11 新增文件SceneDelegate
xcode11创建项目新增SceneDelegate文件,AppDelegate文件结构也发生变化,在AppDelegate.h文件中没有了window属性,而是在sceneDelegate.h中,可见AppDelegate不管理window而是交给SceneDelegate。由于这些是ios13新增,所以SceneDelegate在ios13以下的系统是不支持。所以xcode11创建的项目如要做...转载 2019-11-06 14:36:29 · 2211 阅读 · 0 评论 -
推荐好文章
https://www.jianshu.com/p/e77fd8298c07这里有8篇文章 讲述不同技术点今天早上看完最后一篇关于推送 看的每篇文章涉及的知识点有模糊的我都会在百度中再学习一遍...原创 2019-04-17 07:50:15 · 91 阅读 · 0 评论 -
iOS 通知NSNotificationCenter 方法不调用解决办法
一个简单的判断需求 用发送通知解决,通知方法不被调用,打断点判断是否在发通知前,通知被移除了或者界面销毁了,或者可能通知名字copy错了,如果以上都没问题那就是线程问题了,我就是加到了同一个线程解决了我的bug。VCa:CYBaseInfoVc *vc = (CYBaseInfoVc *)[AppManager getVCInBoard:@"Login" ID:@"CYBaseInfoVc...原创 2019-05-18 08:22:27 · 3609 阅读 · 0 评论 -
iOS TouchID和FaceID登录验证 简单使用
新入职公司 还是接受了之前的项目 提出新的需求 用指纹和面部进行安全验证和登录涉及到TouchID和FaceID相关技术知识点 查找资料后简单了解并实现功能先来点直观的图指纹识别和面部识别公用一个库即可,系统会自动判断当前设备支持指纹识别还是面部识别1.导入框架#import <LocalAuthentication/LocalAuthentication.h...原创 2019-07-25 14:18:27 · 8961 阅读 · 2 评论 -
iOS 一个小的技术点 TouchID和FaceID开发中 出现验证一次后 不再有验证弹框出现的bug
之前开发关于TouchID和FaceID安全验证的功能在当前界面成功出现一次TouchID验证的弹框后,关闭这个验证功能(我们用的是一个UISwitch控件),再次打开的时候只是设置成功却不再有验证指纹的弹框了解决办法:懒加载 将self.context懒加载初始化 在成功后将其置nil(注释:@property (strong,nonatomic)LAContext *cont...原创 2019-08-30 16:30:52 · 715 阅读 · 0 评论 -
iOS 反射机制的使用 SEL Class Protocol 与字符串的转换
// SEL和字符串转换FOUNDATION_EXPORT NSString *NSStringFromSelector(SEL aSelector);FOUNDATION_EXPORT SEL NSSelectorFromString(NSString *aSelectorName);// Class和字符串转换FOUNDATION_EXPORT ...原创 2019-08-30 16:39:28 · 606 阅读 · 0 评论 -
iOS 模拟器运行报错原因之一
Unable to boot device due to insufficient system resources.Please see Simulator Help for information on adjusting system settings to allow more simulated devices to boot at once.maxUserProcs: 709,...原创 2019-09-03 09:56:21 · 1097 阅读 · 0 评论 -
iOS 屏幕适配 iPhone X SafeArea安全区域
三月份工作 9月份才开始自己主动了解安全区域适配问题一. 前言本文的出发点是对iOS设备的适配, 我们之前的适配只是考虑设备的尺寸, 设备的方向, 而在iPhoneX出来之后呢, 我们又多了一种考量, 那就是刘海和底部横条(HomeIndicator), 我们通过UIKit11.0之后新增的API来解决这个问题, 达到不同设备尺寸, 不同设备方向的完美适配.二. 之前的做法注...原创 2019-09-06 09:40:03 · 5214 阅读 · 0 评论 -
iOS13 暗黑模式(Dark Mode)适配之OC版
目录一、适配Dark Mode 颜色适配 图片适配 二、获取当前模式(Light or Dark) 三、其他内容 四、总结首先看看我们的效果图:适配效果图一、适配Dark Mode开发者主要从颜色和图片两个方面进行适配,我们不需要关心切换模式时该如何操作,这些都由系统帮我们实现1 颜色适配iOS13 之前UIColor只能表示一种颜色,而从 iOS...转载 2019-09-25 10:17:05 · 4898 阅读 · 0 评论 -
iOS 13 DarkMode 暗黑模式
iOS 13终于引来了暗黑模式。每当新特性的到来,iOS开发者们既紧张又有点小兴奋,怀揣着被虐的心态,让我们来看看暗黑模式到底是个啥。虽然这是一个设计驱动的需求,但是本着一颗虔诚(暴躁)的心,我们还是要一步步来,“工欲善其事、必先利其器”,搞清楚应该怎么做。下载 Xcode11,跑起来你的项目。模拟器启动后,在“设置”-“开发者”中打开“Dark Appearance”后,你的项目就自...转载 2019-10-10 10:54:34 · 4046 阅读 · 0 评论 -
iOS 定位CoreLocation
2015年接触过地图开发,在商场内使用蓝牙定位,现在回头想想时间过的好快啊,14年刚接触iOS,任何一个知识点对于我来说都是陌生和深奥的,一本技术书要读5~6遍才能记住知识点,相关技术文章读个几遍也只是会copy,实现功能后三天两头出现点问题。今天读到一篇推送文章关于地图,顺便在回忆一下定位。A模块与常见的类定位所包含的类都在CoreLocation模块中,所以必须导入import...原创 2019-05-13 08:13:21 · 258 阅读 · 0 评论 -
iOS Mac上传代码到到码云
又一个自己独立的新项目上传码云托管第一步:建立本地git仓库cd到你的本地项目根目录下,执行git命令git init第二步:将本地项目工作区的所有文件添加到暂存区git add ..表示所有文件如果想添加项目中的指定文件,那就把.改为指定文件名即可 比如盒你的项目在同一级 项目名字为 xxx 就 git add xxx第三步:将暂存区的文件提交到本地仓库git co...原创 2019-05-17 08:13:59 · 366 阅读 · 1 评论 -
iOS 手动添加.pch文件及WKWebView的使用中加载不出网页
PCH文件(Precompile Prefix Header File),也就是预编译头文件,其作用就是,方便你一次性导入在多个文件中同时用到的头文件、宏或者URL地址等(全局使用),可以有效的帮你节约时间,提高开发效率。但是,自从Xcode 5之后,这个文件默认就不再提供了,如果你还想继续使用的话,需要手动创建并配置。至于为什么默认不再提供,可能是出于提高编译效率方面的考虑,毕竟预编译也会提高B...原创 2019-05-16 13:43:41 · 602 阅读 · 0 评论 -
Swift private 和 public fileprivate、open
对于访问控制关键字找了好多文章都不理解的很透彻,更好的理解和学习方式应该是自己写一遍代码测试一下经过各种翻找 终于找到一个很容易理解很形象的解释了原来 Swift 中有2种常用访问控制关键字(访问控制修饰符),分别为 private 和 public。而在 Swift 3.0+,又在原来的基础上新增了两种:fileprivate、open。它们可以看成是对 private 和 public...转载 2019-04-18 09:20:52 · 1194 阅读 · 0 评论 -
iOS 面试 线程与进程的区别
iOS面中除了相关的基本技术知识点,线程/进程经常被问到,因为这可能不仅体现一名程序员所研究的技术级别,也能体现对计算机操作系统的了解程度。进程是什么?程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多个...原创 2019-04-18 07:23:33 · 1936 阅读 · 0 评论 -
iOS Xcode自定义代码块以及迁移
文中将要介绍以下四点内容 代码块的意义 自定义代码块入口 代码块迁移 代码块的编写 一 . 意义在于节约时间成本 like 我在编译器键入 strong, 回车 自动生成@property (nonatomic, strong) <#Class#> *<#object#>; 二 . 如何自定义代码块 如...转载 2019-04-22 08:17:16 · 208 阅读 · 0 评论 -
iOS 三方登录 微信登录失败 真机测试 由于应用BundleID信息校验不通过,无法使用微信登录
真机测试 打包到蒲公英 一切顺利 但是在测试同胞那里 微信的三房登录失败报错原因如下解决办法在微信开放平台将这个项目的bundle ID改成和打包项目中的一致即可...原创 2019-04-22 08:13:25 · 29834 阅读 · 2 评论 -
Swift中的 as、as!、as? 三种操作符如何使用and??如何使用
怀孕生娃带娃 两年多之后重新找工作(20190223周六),本想着三月份学习一个月在开始找工作,担心这个行业抛弃了我就尝试投递简历试试,结果第二家就收到了offer。之后又去面试了几家,很多都需要会Swift 。最后还是在3月1日入职了现在的公司不知道现在学习Swift还来得及不,我只是想在给我机会的前提下恶补落下的技术点,补充新的技术点。ASwift中的 as、as!、as? 三...原创 2019-04-17 08:47:16 · 343 阅读 · 0 评论 -
升级到Xcode 10提示not found for -lstdc++.6.0.9
人无远虑必有近忧朋友的一各项目需要打包 运行后发现报这个错误 之前我的解决办法是下载一个Xcode9运行就可以了百度一下原因分析:Xcode10中libstdc++.6.0.9和libstdc++被移除,Frameworks中libstdc++.6.0.9和libstdc++找不到对应的库,报红。解决方案:经排查,工程以及使用的第三方不存在依赖这两个库的情况(可能曾存在第...原创 2019-04-10 08:21:36 · 232 阅读 · 0 评论 -
iOS 三方登录非友盟等而是“ 微信 QQ 支付宝” 简单总结
近两年半没有工作,重新回到技术岗位,脸大的我竟然一丁点不恐惧,不知道其他宝妈会有同样的感受吗?在新公司的第二周被安排给之前的一个项目改bug,第二个任务是一个社交的App,其中有通过第三方快速登录的功能,不瞒大家说,第一次接触(14年毕业就做iOS开发,成长神一般的慢)。正题:最最好的方式是官方文档除此之外百度 不好意思地说 我“百家抄袭”了一下。除了微信登录 还附加了分享哈哈~(有图片...原创 2019-04-09 08:17:31 · 744 阅读 · 0 评论 -
iOS 三种全局 栈区 堆区Block小小解读
从2015年接触block就只会用 (还是抄袭别人的)就没真正掌握过这个东西a,block是啥?b,哪三种block?------------------------------------------------------------------------------------------------------------------我赶脚自己个开始用bloc...原创 2019-04-12 09:02:15 · 2819 阅读 · 0 评论 -
Mac下JSON字符串转Model对象工具(JSONExport)
1. JSONExport安装下载地址:https://github.com/Ahmed-Ali/JSONExport下载zip包后,解压后如下图:双击选择文件,通过xcode打开该工程:打开后,使用快捷键(command+b)进行编译工程,在工程products文件夹下,生成.app应用文件。右击鼠标进入JSONExport.app所在的文件夹下:将JSONE...转载 2018-08-07 07:16:13 · 2331 阅读 · 0 评论 -
Objective-C反射机制
该文章属于<简书 — 刘小壮>原创,特此感谢:<简书 — 刘小壮> http://www.jianshu.com/p/5bbde2480680转载 2018-07-06 06:32:39 · 131 阅读 · 0 评论 -
iOS Swift 变量 常量 元组
五一假期来了~为了五一之后可以继续在今后的日子踏踏实实幸福 我们继续往日的充电喽~别一样的开心01 变量和常量的定义 在swift中变量使用var来修饰,常量使用let来修饰,变量可以修改而常量不能被修改。 变量:var 常量:let 格式:修饰符(var|let) 变量|常量名称:数据类型 = 值 注意:在使用swift开发过程中,一般情况下先使用let,只有该...转载 2019-04-28 08:35:08 · 133 阅读 · 0 评论 -
iOS 复制粘贴 值类型与引用类型 isKindOfClass 和is MemberOfClass 的区别
复制粘贴值类型与引用类型isKindOfClass 和is MemberOfClass 的区别AUIPasteboard*pab = [UIPasteboard generalPasteboard]; [pab setString:self.copyLabel.text]; if(pab ==nil) { 复制失败 }...原创 2019-04-24 08:02:56 · 179 阅读 · 0 评论 -
iOS storyboard与xib相关基础知识点
一直在使用storyboard和xib开发,从未真正了解其定义。在界面打开与空间相关联的右侧属性中,最右边的功能选项中可以查看到当前控件的相关关联事件。但具体是啥意思呢?Triggered Segues 这个action连接到一个界面时,点击控件就将调转到连接的界面 Outlet Collections 控件将作为一个属性集合的一员 Sent Events 当控件的不同点击事件触发时,...原创 2019-05-15 08:37:59 · 208 阅读 · 0 评论 -
iOS 结构体和类的区别
1、结构体只能封装属性,类却不仅可以封装属性也可以封装方法。如果一个封装的数据有属性也有行为,就只能用类了。2、结构体变量分配在栈,而OC对象分配在堆,栈的空间相对于堆来说是比较小的,但是存储在栈中的数据访问效率相对于堆而言是比较高3、堆的存储空间比较大,存储在堆中的数据访问效率相对于栈而言是比较低的4、如果定义一个结构体,这个结构体中有很多属性,那么这个时候结构体变量在栈中会占据很多...转载 2019-05-15 07:48:19 · 953 阅读 · 0 评论