ios开发中的点滴积累
文章平均质量分 70
早起的年轻人
先后从事在 java EE 领域、Android开发架构领域、iOS开发领域、小程序开发领域、前端开发、产品设计领域、项目管理学领域等,并在大量的实践中积累了丰富的经验,也形成了一套完整的移动互联网开发解决方案
在各大技术社区刊登技约1000多篇术分享文章,同时录制了发布了多个Flutter从简到详系列的视频教程以及Android 、iOS、微信小程序系列视频教程
2021年出版《Flutter组件精讲与实战》清华大学出版社出版、《Flutter 实战应用开发》机械工业出版社出版
2022年出版《Flutter深度探索企业应用开发》清华大学出版社出版、《鸿蒙OS应用实战》机械工业出版社出版
展开
-
iOS Universal Links 配置教程
1 Universal LinksUniversal Links(通用链接)是iOS9.0出的新技术。ios 官方配制文档在这里2 Xcode配置首先是将Associated Domains打开,并填写我们的域名,前缀是applinks。如果你的域名是test.com,则填上applinks:test.com。APP会在第一次启动的时候通过填写的域名来下载 apple-app-site-association文件配置后会发现项目中多了一个APPNAME.entitlements文件3 app原创 2021-08-28 12:08:35 · 2603 阅读 · 1 评论 -
iOS info.plist 各种权限设置模版
<key>NSLocationWhenInUseUsageDescription</key><string>App需要您的同意,才能在使用期间访问位置</string><key>NSLocationAlwaysUsageDescription</key><string>App需要您的同意,才能始终访问位置</string><key>NSPhotoLibraryUsageDescription原创 2020-12-09 07:40:18 · 1948 阅读 · 1 评论 -
iOS中加载Flutter中的图片
NSString *key2 = [registrar lookupKeyForAsset:@"icons/camera_record_icon.png" fromPackage:@"flutter_custom_camera_pugin"]; UIImage *icon = [UIImage imageWithContentsOfFile:key2];原创 2020-09-14 19:58:08 · 1006 阅读 · 0 评论 -
This app has crashed because it attempted to access privacy-sensitive data without a usage
升级 iOS 10 后,在 xcode 运行项目时会常常出现 如下的提示,导致应用崩溃:This app has crashed because it attempted to access privacy-sensitive data without a usage description.别急这个是由于权限造成的This app has crashed because it attempted to access privacy-sensitive data without a usage d原创 2020-09-14 19:38:58 · 2965 阅读 · 0 评论 -
Block will be retained by an object strongly retained by the captured object
Block will be retained by an object strongly retained by the captured object防止iOS中私有属性在block中的循环引用对于一般的@property修饰的属性我们可以使用__weak转换一下self来修饰 __weak typeof(self) weakSelf = self; //然后把self.xxx变成weakself.xxx那么.对于一些没有使用@property修饰的私有属性呢.比如一下这种.原创 2020-09-14 00:01:49 · 711 阅读 · 0 评论 -
iOS把UIImage保存到沙盒目录下以及少盒目录概述
保存 UIImage 到沙盒Document目录下与读取Document中保存的图片的方法、沙盒机制介绍 与 各目录说明 以及获取方法概述、NSSearchPathForDirectoriesInDomains 函数方法概述原创 2020-09-12 14:59:07 · 1277 阅读 · 0 评论 -
IOS多线程任务(综述篇)
微信公众平台 1 进程的五态模型2 线程线程是进程的基本执行单元进程中的所有的任务全部是在线程中完成3 多线程任务执行方式串行 一个任务一个任务执行 并行 多个任务同时执行 4 IOS创建多线程的方式5 pThread- (void)pThreadClickFunction{ //创建线程 pthread_t thread; //创建参数原创 2017-02-19 00:32:01 · 1537 阅读 · 0 评论 -
ios图片轮播 (基础篇——UIScrollView实现方式)
人生不发返程的车票,一旦出发了,决不能返回。 人生只有一次,无悔的人生才是成功的人生,不要期待与奢望 “下一次” 如何。 过去的人生中,我们的路程中可能充满了欢笑与忧伤,而在我们当下,却是永远的记忆。 在人生的不同的阶段,我们常常会听到许多人说着这样的话。原创 2016-11-01 01:01:59 · 3900 阅读 · 0 评论 -
IOS-—UICollectionView使用综述(二 )(基础篇--画廊展示图片,瀑布流展示图片)
1.UICollectionView实现画廊方式浏览图片2.UICollectionView 实现瀑布流方式浏览图片原创 2016-10-05 12:34:09 · 1428 阅读 · 0 评论 -
IOS-—UICollectionView使用综述(一 )(基础篇--垂直列表方式,横向相册方式)
1、storyboard与自定义cell方式实现2、storyboard与自定义xib方式实现3、代码方式创建 UICollectionView 与 自定义Cell4、UICollectionViewController方式来实现视图的横向滑动原创 2016-10-05 01:39:26 · 2895 阅读 · 0 评论 -
IOS开发中的弹框综述
题记——人生在世,淡定看世界。感受生活,从不说疲惫,因为卡里的存款还不够。体验生活,不说难受,因为肩上的责任不能丢。感悟生活,不说退后,因为脚下的道路还得走。1、弹框效果预览:2、IOS 中弹框的几种方式 方式一 UIAlertView方式二 UIAlertController 3、UIAlertView方式综述 3-1、 显示基原创 2016-09-14 00:42:40 · 1512 阅读 · 0 评论 -
IOS启程01-配制CocoaPods来管理第三方类库
IOS启程— 配制CocoaPods来管理第三方类库Mac OSX 10.11 之后1 CocoaPodsCocoaPods应该是iOS最常用最有名的类库管理工具了,也就是说,在IOS开发过程中会用到许多其他类库使用CocoaPods可以很方便的来管理开发中使用到的类库2 Ruby安装CocoaPodsRuby 是一种开源的面向对象程序设计的服务器端脚本...原创 2017-08-07 02:36:00 · 768 阅读 · 0 评论 -
IOS初始化控制器的两种方法
题记生活很简单,只不过就是忘记了知识,再去学习知识。笔录一 ViewControllViewController方式#import "AppDelegate.h"#import "ViewController.h"@interface AppDelegate ()@property(nonatomic,strong) ViewController *viewController;@end@i原创 2017-07-25 08:02:35 · 2509 阅读 · 0 评论 -
CoordinatorLayout 使用综述系列(二)与AppBarLayout结合上下联动效果
CoordinatorLayout 使用综述系列(二)CoordinatorLayout 实现了多种Material Design中提到的滚动效果CoordinatorLayout 与 AppBarLayout结合使用图原创 2017-10-17 15:19:27 · 767 阅读 · 0 评论 -
CoordinatorLayout 使用综述系列(一)
本文是系列性文章,综述CoordinatorLayout 的使用方法以及原理。原创 2017-10-12 01:38:55 · 552 阅读 · 0 评论 -
IOS启程06—iOS设置圆角图片
iOS设置圆角的三种方式1 方法一 通过设置layer的属性UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];//只需要设置layer层的两个属性//设置圆角imageView.layer.cornerRadius = imageView.f...原创 2017-09-16 09:10:12 · 700 阅读 · 0 评论 -
从0开始架构一个IOS程序—— 05— NavigationBar 搭建首页面
从0开始架构一个IOS程序 05 NavigationBar搭建首页面Mac OSX 10.11 之后效果 在这里的实现思路 创建 navigationItem titleView添加ViewController关联 UIScrollView1 创建 navigationItem titleView1.1 WISHomeTopBarView.h#import <UIKit/UIKit原创 2017-08-27 00:00:09 · 662 阅读 · 0 评论 -
从0开始架构一个IOS程序 ——04— UITabBarController和自定义TabBar 搭建主页面
从0开始架构一个IOS程序 04 UITabBarController 搭建主页面Mac OSX 10.11 之后效果 1 首先创建自定义TabBar1.1 WISHomeTabBarView.h#import <UIKit/UIKit.h>typedef NS_ENUM(NSUInteger,WISHomeItemType){ WISHomeItemTypeDefault=0};@c原创 2017-08-26 18:34:01 · 1179 阅读 · 0 评论 -
从0开始架构一个IOS程序——03 — -分包用添加pch全局引用文件
从0开始架构一个IOS程序 03分包用添加pch全局引用文件Mac OSX 10.11 之后PCH文件简介: PCH文件是Xcode编程中全局引用共享的文件。可以在这里引入头文件或者宏定义来方便程序中多个文件访问。 PCH文件创建: 打开工程 New File… -> iOS Other -> PCH File 输入PCH文件名字即可。1 PCH文件配置:2 PCH文件常用://// co原创 2017-08-26 17:23:40 · 623 阅读 · 0 评论 -
从0开始架构一个IOS程序—— 02 — 设置启动图标与启动页面
从0开始架构一个IOS程序 02设置启动图标与启动页面Mac OSX 10.11 之后1 指定应用程序所要加载的应用图标与启动加载图片2 应用图标的相关设置3 启动图片的相关设置原创 2017-08-26 17:22:40 · 750 阅读 · 0 评论 -
ios 内存管理的理解(四)ARC下循环引用问题
案例 一个人拥有一只狗,一只狗拥有一个主人。@interface Person :NSObject@property(nonatomic,strong) Dog* dog;@end@interface Dog :NSObject@property(nonatomic,strong) Person* person;@end Person *p=[Person new]; Do...原创 2019-02-21 22:10:06 · 391 阅读 · 0 评论 -
ios 内存管理的理解(三)ARC下 对象内存管理
1 ARC工作原理详述ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只不过是在代码编译时为你自动在合适的位置插入release或autorelease2 ARC的判断准则:只要没有强指针指向对象,对象就会被释放注意:当使用ARC的时候,暂时忘记“引用计数器”,因为判断标准变了3 强弱指针3.1 强指针:默认所有的指针变量都是强指针。...原创 2019-02-21 22:03:11 · 462 阅读 · 0 评论 -
ios 内存管理的理解(二)ARC概念及原理
1、什么是ARC?Automatic Reference Counting,自动引用计数,即ARC,可以说是WWDC2011和iOS5所引入的最大的变革和最激动人心的变化。ARC是新的LLVM 3.0编译器的一项特性,使用ARC,可以说一举解决了广大iOS开发者所憎恨的手动内存管理的麻烦。在工程中使用ARC非常简单:只需要像往常那样编写代码,只不过永远不写retain,release和...原创 2019-02-21 21:54:22 · 772 阅读 · 0 评论 -
ios 内存管理的理解(一) 简述
1. 内存管理的范围所有的OC对象(继承自NSObject类)本质原因:是因为对象和其他数据类型在系统中的存储空间不一样,其他局部变量主要存放于栈中,而对象存储于堆中。当代码块结束时,这个代码块中涉及的所有局部变量会被回收,指向对象的指针也被回收,此时,对象已经没有指针指向,但依然存在于内存中,造成内存泄露2. 我们如何对OC对象进行内存管理?通过操作对象的&amp;quot;引用计数器&amp;quot;3....原创 2019-02-21 21:35:54 · 1267 阅读 · 0 评论 -
#pragma mark 基本使用
在objective-c中定义多个类之后,作用#pragma mark 对类进行分组使用这种代码可以在导航栏的文件栏查看到这一点原创 2019-02-20 16:25:21 · 703 阅读 · 0 评论 -
ios自定义条形进度条
题记 在今天这个变化多端的世界,我们最大的危险不是外界的压力与竞争,而是我们内心的模式,这些模式决定我们看到些什么,感受到些什么,如何思考以及最终成为怎么样的人效果 代码实现#import &lt;UIKit/UIKit.h&gt;@interface HWProgressView : UIView@property (nonatomic, assign) CGFl...原创 2018-06-30 01:30:55 · 4705 阅读 · 1 评论 -
ios 自定义圆环进度条
效果#import <UIKit/UIKit.h>@interface HWCircleView : UIView@property (nonatomic, assign) CGFloat progress;//进度条颜色@property(nonatomic,strong) UIColor *progerssColor;//进度条背景颜色@property(...原创 2018-06-29 22:21:19 · 5609 阅读 · 0 评论 -
ios 自定义View 卡片滑动切换效果
ios 卡片滑动切换效果原创 2018-01-12 14:47:29 · 7332 阅读 · 0 评论 -
ios 内存管理的理解(五)ARC使用特点及注意事项
1 ARC使用特点及注意事项不允许调用release,retain,retainCount允许重写dealloc方法,但是不允许调用[super dealloc]2 ARC使用注意事项ARC中,只要弱指针指向的对象不在了,就直接把弱指针做清空(赋值为nil)操作__weak Person *p=[[Person alloc]init];//不合理,对象一创建出来就被释放掉,对象释放...原创 2019-02-21 22:13:09 · 379 阅读 · 0 评论 -
Java、JS、OC、Flutter的Base64编码和解码
本文章将描述在 Java、JS、OC、Flutter中通过Base64算法将String进行编码与解码,以及通过分析了Base64编码的原理过程原创 2020-08-22 22:44:35 · 1033 阅读 · 0 评论 -
library not found for -lstdc++.6.0.9
部分项目依赖 libstdc++.6.0.9 的会在Xcode 10无法运行,其原因是Xcode 10中将libstdc++.6.0.9库文件删除(Xcode10把libstdc++换成了libc++),原本功能迁移至其他库将文件 libstdc++.6.0.9.tbd 文件点击下载复制到目录下真机环境/Applications/Xcode.app/Content...原创 2019-01-21 15:56:24 · 885 阅读 · 1 评论 -
iOS获取最顶层ViewController
1.获取当前屏幕显示的 Viewcontroller 案例源码2.UIApplication 的简析3.KeyWindow 的简析4.rootViewController 的简析5.PresentedViewController 的简析1 获取当前屏幕显示的 Viewcontroller//获取当前屏幕显示的viewcontroller- (UIViewController *...原创 2020-04-02 12:13:54 · 2458 阅读 · 1 评论