- 博客(99)
- 资源 (1)
- 收藏
- 关注
原创 手把手教你 Flutter 适配Harmony OS Next
Flutter 兼容 Harmony NEXT Developer Beta5 保姆级教程。 现在好多插件都是内部都会自动执行安装。所以安装还是很省事的。
2024-08-28 19:15:31
148
原创 iOS原生、Android 原生, flutter 三种方式给照片流添加文字(水印)
iOS原生、Android 原生, flutter 三种方式给照片流添加文字(水印)
2023-10-20 12:01:36
1927
2
原创 HTML- 标签学习之- 表单
html所有的表单输 input 系列,类型根据type 区分。单选、多选的默认选中、 多张图上传。 Lable标签绑定内容与标签的触发。多行输入框 textarea, 语义化标签和字符实体。
2023-05-22 17:18:20
525
原创 Flutter-控件- 评分展示
现学现卖, 评分等级展示,5星好评渲染class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( p...
2021-09-15 11:37:10
580
原创 Flutter-UI- 阴影(BoxShadow)、 间距(padding)、 Align
关于阴影(BoxShadow)代码: /* * 控件阴影demo * */ Container BoxDecorationDemo() { return Container(// color: Colors.red, width: 200, height: 200, alignment: Alignment(0,0), //居中参数 padding: EdgeInsets.all(2.
2020-09-29 09:16:25
740
原创 Flutter-UI- ImageView、icon、Button
button 文字与边框、间距的设置:/* * button 文字与边框、间距 设置 * */class MyButtonTheme extends StatelessWidget { @override Widget build(BuildContext context) { return Column( children: <Widget>[ ButtonTheme( height: 10,
2020-09-18 09:01:02
720
原创 Flutter-UI-TextField
Flutter UI布局TextField 使用, 简单一个登录页面代码如下:class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: T
2020-09-18 08:53:56
236
原创 iOS WKWebView 加载支付宝地址,打开支付宝APP
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler { NSURLRequest *request = navigationAction.request; NSStri..
2020-09-08 15:16:22
1175
原创 iOS —— AutoreleasePool
首先:autorelease 的本质就是延时调用release;自动释放池的主要结构体和类是:_AtAutoreleasePool、AutoreleasePoolPage;调用了autorelease的对象最终都是通过AutoreleasePoolPage对象类管理的;AutoreleasePoolPage的的大小都是4096个字节;自动释放池是有Autorelea...
2020-03-29 21:48:02
392
原创 链式编程、函数式编程、响应式编程
链式编程思想:是将多个操作通过点号(.)链接在一起成为一句代码,使代码可读性好。链式编程的特点:方法的返回值是block,block必须有返回值(对象本身),block里可以有参数(需要操作的值)。方法的返回值必须是方法的调用者。代表作: masonry框架
2020-03-26 17:42:24
496
原创 iOS 动态库和静态库的区别 .a&framework
库的本质是可执行的二进制文件,是资源文件和代码编译的一个集合。根据链接方式不同,可以分为动态库和静态库,其中系统提供的库都属于动态库。静态库:链接时会被完整的复制到可执行文件中,被多次使用就有多分拷贝。静态库形式:.a和.framework 1.静态库在编译时加载,链接时会完整的复制到可执行文件中。 2.静态库的可执行文件通常会比较大,因为所需的数据都会被整...
2020-03-23 11:04:16
1394
原创 OC const、static 、extern 使用
宏常见用法:1.常见字符串抽成宏.2.常用代码抽成宏。const1.定义常量,当有字符串常量的时候,苹果推荐使用const。
2020-03-21 16:58:20
325
原创 weak 、strong、 assign 、nonatomic修饰
Weakweak 表示指向,但不持有该对象,其实修饰的对象引用计数不会增加。__weak与Weak 基本相同,前者修饰变量(variable),后者用于修饰属性(property)。__weak 主要防止block中的循环引用。weak 实现的三步骤:object_InitWeak (初始化新的weak指针指向对象的地址) store_weak (更新指针的指向,创建弱...
2020-03-20 18:30:46
287
原创 ios 性能篇
iOS关于性能优化,工具很多,有了解的可以看看这两个MLeakFinder、DoraemonKit. 比较的实用。工具的使用就不多说了, 整理一些代码方面的吧:1.重用和延迟加载(lazy load) Views。2.优化Table View
2020-03-20 18:25:26
204
转载 iOS —— XMPP 详解
iOS - XMPP 的使用转载https://www.cnblogs.com/QianChia/p/6411914.html1、XMPP XMPP 是一个基于 Socket 通信的即时通讯的协议,它规范了即时通信在网络上数据的传输格式,比如登录,获取好友列表等等的格式。XMPP 在网络传输的数据是 XML 格式。 开发架构: iOS 框架:XMPPFra...
2020-03-18 18:27:53
1355
原创 iOS —— WebSocket
WebSocket同HTTP一样也是应用层的协议,但是它是一种双向通信协议,是建立在TCP之上的。Socket 是TCP/UDP协议的API,发生在传输层。WebSocket与HTTP的区别相同点都是一样基于TCP的,都是可靠性传输协议。 都是应用层协议。不同点WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。 WebSocke...
2020-03-18 12:47:18
433
转载 Socket数据粘包、断包处理实例(基于CocoaAsyncSocket)
前言本文旨以实例的方式,使用CocoaAsyncSocket这个框架进行数据封包和拆包。来解决频繁的数据发送下,导致的数据粘包、以及较大数据(例如图片、录音等等)的发送,导致的数据断包。本文实例Github地址:即时通讯的数据粘包、断包处理实例。注:文章内容属于应用的范畴,内容相对简单易懂。给大家对数据包的处理提供了一个思路, 希望能抛砖引玉。它是楼主CocoaAsyncSocket...
2020-03-17 21:39:55
693
原创 iOS —— CocoaAsyncSocket
CocoaAsyncSocket为macOS、iOS和tvOS提供了易于使用且功能强大的异步套接字库。他是基于C 语言Socket的一层封装,更加的面向对象。使得原生连接状态以及接受消息等函数都以代理的方式体现。使用性极高,极大提高开发效率。CocoaAsyncSocket中主要包含两个类:GCDAsyncSocket.//基于TCP/IP协议的socket网络库 GCDAsyncUdp...
2020-03-17 21:09:16
405
原创 iOS —— Socket
Socket其实就是在传输层对TCP/UDP封装的一层API,俗称套接字。 就是为网络服务提供的一种机制,通信的两端都是Socket(用户端和服务端)两个Socket IO传输,Socket是纯C语言的,是跨平台的。下图:UDP :(用户数据报文协议) 只管发送,不确认对方是否接收,将数据及源和目的的封装成数据包中,不需要建立连接。每个数据报的大小限制在64K之内。因为无需连接,因此是不可...
2020-03-17 18:01:52
419
转载 TCP三次握手和四次挥手过程
TCP三次握手和四次挥手过程1、三次握手(1)三次握手的详述首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接,而B被动打开连接。(A、B关闭状态CLOSED—...
2020-03-15 17:26:09
186
原创 多线程--- NSOperation
NSOperation 是iOS多线程其中一种常用的像形式,的执行步骤:1、先将需要执行的一个操作封装到一个NSOperation对象中。2 、然后将NSOperation 对象添加到NSOperationQueue中。 3、系统会自动将NSOperationQueue 中的NSOperation取出来。 ...
2020-03-15 10:09:43
234
原创 多线程--- GCD
GCD 全称Grand Central Dispatch,是纯C语言,它会自动挂哪里线程的生命周期。多线程最基本的运行原理就是将任务添加到队列,并且指定执行任务的函数,如下: //1:创建串行队列 dispatch_queue_t queue = dispatch_queue_create("QueueName", DISPATCH_QUEUE_SERIAL); ...
2020-03-15 06:27:11
211
原创 多线程原理
线程是进程的基本执行单元,一个进程的所有任务都在线程中执行。进程要想执行任务,必须得有线程,进程至少要有一条线程。进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均在其专用的且受保护的内存中运行。地址空间:同一进程的线程共享本进程的地址空间,而进程之间是独立的地址空间 资源拥有:同一进程内的线程共享共享本进程的资源...
2020-03-10 23:23:39
240
原创 iOS之KVO
简介: KVO的全称是Key-Value Observing , 翻译过来就是键值监听,可以用于监听某个对象属性值的改变。常用API : 1: 添加观察者: addObserve:forKeyPatch:option:context: 2:实现观察相应方法: observeValueForKeyPath:ofObject:change:contex...
2020-03-09 16:51:20
243
原创 iOS之KVC
KVC(Key-value coding)键值编码,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时确定,这也是iOS开发中的黑魔法之一。
2020-03-08 19:46:22
182
转载 设计模式之—— 观察者模式
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。
2020-03-08 09:26:12
130
原创 设计模式之—— 适配器模式
类适配器:通过继承关系来适配两个接口。对象适配器:不继承适配者,他们是一个关联关系,相当于引用了这个类。意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。何时使用:1、系统需要使用现有的类,而此类的...
2020-03-07 23:11:35
213
原创 设计模式之—— 享元模式
享元模式: 相同的数据就拿来共享。 (线程池、tableViewCell 等)。特点:可共享享元对象, 享元池。优点:大大减少对象的创建,降低系统的内存,使效率提高。
2020-03-07 17:43:07
160
原创 设计模式之—— 工厂模式
工厂模式:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决接口选择的问题。图解:
2020-03-07 01:03:35
149
原创 设计模式之—— 桥接模式
概念:将抽象部分与它实现部分分离,使它们都可以独立地变化。特点:1. 将依赖具体的实现改为依赖抽象,得到送耦合的状态。 2. 分离接口和实现部分。 3 提高了扩展性。如图:桥接模式解读一下:1. 有个遥控器的抽象类,他可以操控TV(持有),做一些操作。2遥控器的抽象类有具体的子类,分别是具体的品牌遥...
2020-03-06 23:59:10
130
原创 设计模式之—— 策略模式
策略模式: 定义一系列的算法,并且将每一个算法封装起来 算法之间还可以互相替换。(前提:输入是确定的, 比如 if else 或者switch)
2020-03-05 21:21:19
121
原创 设计模式之—— MVVM
MVVM是通过MVC演变过来的, 单从数据流向来看,跟MVP有点类似,MVP面向接口,但是MVVM是响应式编程。 ViewModel并不是完全是一个处理业务逻辑模块,它是对View和Model做了一个双向绑定 。 View中展示所用到的数据都来源于ViewModel所提供的值。而View会监听ViewModel的属性。当ViewModel中属性发生变化...
2020-02-29 23:39:30
246
原创 设计模式之—— MVP
MVP是在MVC架构基础上演变过来的。其中P(Presenter)处理了Controller里边的逻辑,其实就是Presenter分担了Controller的压力。实际开发中Controller一般都是存在的。只不过Controller会把逻辑处理部分交给Presenter去处理。Controller的角色就是负责把M、V、P三方给串起来...
2020-02-29 14:38:51
306
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人