自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我叫柱子哥

技术探讨 共同进步

  • 博客(152)
  • 资源 (2)
  • 收藏
  • 关注

原创 iOS中的多线程开发技术第一篇(GCD)

多线程编程是现代应用程序开发中的一个重要部分,尤其是在 iOS 开发中,它可以帮助我们提高应用的性能和响应速度。iOS 提供了多种多线程编程技术,包括 GCD(Grand Central Dispatch)、NSThread、NSOperation 和 pthreads。本文将详细介绍这些多线程技术,帮助你理解并掌握它们的使用。

2024-07-24 02:21:14 1393

原创 Flutter禁止及交互的两种方式

这是我知道的两种禁止点击事件的方法,两种方式都可以实现禁止点击事件的效果,可以根据需要来选择,如果你有其他的方法,可以给笔者留言,大家一起学习,一起进步。

2020-07-02 00:08:34 5671 1

原创 Flutter实现iOS TabBarController效果和android TabHost效果

先上截图, 如何实现下图的效果呢。对于iOS开发者,我们可以使用UITabBarController来实现,对于android开发者,我们可以使用FragmentTabHost来实现。在Flutter中并没有这两个控件,进入正题,我们看看在Flutter中我们如何使用Flutter中的PageView来实现这种效果。

2020-06-22 09:43:31 1113 1

原创 UIScrollView的Content Size, Content Inset属性

做iOS有好长时间了,今天再次写到UIScrollView的时候再次遇到了ContentSize,ContentInset,Scroll Indicator等属性,想起刚刚入门的时候的困惑,决定把它写下来,做个记录,以后忘记的时候也可以温故知新。也希望给初学者一个好的借鉴,少走点弯路,嘿嘿,不多说了,进入正题,第一次写博客,语言组织可能不太好,如果错误或者说的不准确的地方还望各位大神们多多指正。

2014-12-27 16:15:26 1718 1

原创 超详细!RxSwift 中的 BehaviorRelay 使用教程(含原理 + 示例 + 实战)

在 iOS 开发中,使用 RxSwift 构建响应式架构(如 MVVM)越来越流行。我们经常会遇到“需要持有某个状态值,并且随时通知观察者”的需求,这时你会发现 BehaviorRelay 几乎无处不在。今天这篇文章,我们就来深入剖析 BehaviorRelay 是什么、怎么用、适合用在什么场景中,以及实战中的最佳实践。1.什么是 BehaviorRelayBehaviorRelay 是 RxCocoa 中封装的一个类,用于代替旧版的 Variable(已废弃)。

2025-05-09 00:11:39 742

原创 用 RxSwift 实现 UITableView 的响应式绑定(超实用示例)

在 iOS 开发中,UITableView 是我们最常使用的组件之一。传统的写法需要设置 delegate、datasource,实现多个方法。而使用,我们可以让列表渲染逻辑更清晰、响应式,更符合 MVVM 模式。这篇文章将手把手教你用 RxSwift 来绑定 UITableView,构建一个“设置”页面,包括多个 section 和点击事件。一、环境准备1.安装 RxSwift 和 RxCocoa首先我们要安装 RxSwift 和 RxCocoa。

2025-05-02 02:50:29 881

原创 对Mac文字双击或三击鼠标左键没有任何反应

在使用Mac系统的时候,使用Apple无线鼠标,双击左键能够选取某个单词或词语,三击左键能够选取某一行,(百度、Google等搜索引擎的搜索框都是能都选取的)。现在 选中文字进行双击和三击都不能选取了,记录下接解决方案。在使用Mac系统的时候,使用Apple无线鼠标,双击左键能够选取某个单词或词语,三击左键能够选取某一行,(百度、Google等搜索引擎的搜索框都是能都选取的)。现在 选中文字进行双击和三击都不能选取了,记录下接解决方案。仔细排查了原因,发现原来是自己调整了步骤把鼠标的响应速度调节快了。

2025-04-25 22:07:57 697

原创 iOS项目实现国际化的详细步骤

在全球化的今天,让 iOS 项目支持国际化,以便吸引来自世界各地的用户,显得尤为重要。接下来,我们就深入探讨一下 iOS 项目实现国际化的完整过程。

2025-04-15 01:17:12 978

原创 Xcode警报“Ignoring duplicate libraries: ‘-lc++’” 警报

有时候我们会看到Xcode警报:Ignoring duplicate libraries: ‘-lc++’

2025-04-10 22:51:41 666

原创 深入理解 RxSwift 中的 Driver:用法与实践

在iOS开发中,响应式编程框架RxSwift为我们提供了强大的工具来处理异步事件和数据流。而在 RxCocoa 中,Driver是一个专门为驱动UI而设计的概念,它简化了界面绑定、线程管理和错误处理的工作。本文将详细讲解Driver的定义、特性、使用场景以及具体代码示例,帮助你快速上手并在项目中应用。一、什么是DriverDriver是RxSwift的姊妹库 RxCocoa 中的一种特殊 Observable 序列。

2025-04-10 21:54:30 466

原创 RxSwift 学习笔记第六篇之RxCocoa实现UITableView

前面的文章介绍了Observable、Observer、Operator的用法,下面我们结合实际中的例子来看一下RxSwift在项目中的使用。一、实现一个简单的下拉刷新列表我们以下面的UI效果如为例:点击按钮的时候,生成生成一个随机数,然后自动更新两个随机数的值。图1.实现一个下拉刷新demoinitUI()loadData()loadData()"随机数字---\(Int.random(in: 1...100))"二、使用RxSwift+RxCocoa实现。

2025-03-21 03:15:13 514

原创 Swift中的frozen关键字

它通过限制类型的继承和扩展,允许编译器做出更为积极的优化。它的作用是告诉编译器,某个类或结构体是不可扩展的,意味着这个类型不会再被子类化或修改,这样编译器可以做出一些优化。

2025-03-18 03:23:23 331

原创 RxSwift 学习笔记第五篇之RxSwift中的操作符

在 RxSwift 中,Operator(操作符)用于对数据流进行处理,使得异步编程更加直观和易读。Operators 是 Rx 的核心组成部分,它们使得你能够通过链式调用对数据流进行转换、过滤、组合等操作。RxSwift 的 Operators 让开发者能够更轻松地处理异步事件,提高代码的可读性和维护性。本文将介绍 RxSwift 中常见的几种操作符,并通过示例展示它们的使用场景,帮助你更好地掌握 RxSwift 中 Operator 的运用。一、Operator 的使用场景。

2025-03-18 02:52:55 806

原创 RxSwift 学习笔记第四篇之RxSwift在项目中的简单应用

在上面的两篇文章中,我们了解到了RxSwift中的Observable和Observer,本篇文章我们主要介绍下RxSwift项目中的使用。

2025-03-17 22:40:16 546

原创 RxSwift 学习笔记第三篇之RxSwift的Observer

在 RxSwift 中,订阅者(Subscriber) 负责接收 Observable 发送的数据流并对其进行处理。没有订阅者时,Observable 不会被触发(Hot Observable 除外)。分析:订阅后 Observable 开始执行订阅者 subscribe 收到 next 事件,然后 completed我们可以调用观察者的subscribe直接订阅。特点:event 可能是 .next(value), .error(error), .completed。

2025-03-16 04:25:15 1018

原创 Swift 中 associatedtype 的用法详解

在 Swift 的协议中,我们无法直接使用泛型 <T>,但可以使用 associatedtype 关键字来声明一个占位类型,让协议在不确定具体类型的情况下仍然能够正常使用。

2025-03-15 00:51:56 986

原创 RxSwift 学习笔记之RxSwift的调试

在 RxSwift 中,调试(debug)是非常重要的,尤其是当你的流变得非常复杂时。RxSwift 提供了很多有用的工具和操作符来帮助你在开发过程中进行调试和跟踪事件流。一、RxSwift 中的调试工具。

2025-03-14 04:23:24 489

原创 RxSwift 学习笔记第一篇之RxSwift的安装和概念

这篇文章主要讲解RxSwift中的一些常用术语和安装方式。

2025-03-14 03:34:15 670

原创 RxSwift 学习笔记第二篇之Observables

这篇博客主要介绍Observables的用法。是 Rx的核心。在 Rx中我们看到“”、“”和“Sequence”在 Rx 中互换使用,其实它们是一个东西。在RxSwift 中,我们把它们统一成为序列。发出事件(数据流)被订阅响应事件.next(value):发送一个可能的值.error(error):发送错误,流终止.completed:完成,流终止。

2025-03-14 00:38:00 1305

原创 iOS开发设计模式篇第二篇MVVM设计模式

在本文的代码中,我们提供一个初始化的方法,把Model中的数据转成要展示的name和age属性,同时我们通过KVO的方式监听UserModel中的变化,实时获取变化之后的最新值。MVVM 是一种强大的设计模式,在 iOS 开发中,特别是复杂的应用程序中,它能显著提高代码的可维护性和扩展性。ViewModel(视图模型层):负责将 Model 转化为 View 可以使用的数据,同时接收 View 的操作并更新 Model。在本文的例子中,Model表示示例中使用到的数据模型,即用户名和年龄。

2025-01-23 01:15:30 1530

原创 常用排序算法之插入排序

插入排序(Insertion Sort)是一种简单且直观的排序算法,常用于小规模数据的排序或作为其他复杂排序算法的一部分(如快速排序的小数组优化)。本文将详细介绍插入排序的基本原理、实现代码、时间复杂度及其适用场景,帮助你轻松掌握这一算法。

2025-01-21 02:17:13 920

原创 iOS中的多线程开发技术第四篇之IO操作

在 iOS 开发中,数据访问的多线程环境非常普遍,例如缓存系统、数据库查询、文件操作等。对于多读少写的场景,设计一个高效且线程安全的方案至关重要。本文将深入介绍多读少写的设计思想,并结合实际代码示例进行详细讲解。

2024-12-05 01:41:31 918

原创 深入理解Flutter生命周期函数之StatefulWidget(一)

在Flutter中,生命周期函数是管理StatefulWidget状态的关键机制。通过生命周期函数,我们可以控制Widget的初始化、更新和销毁过程,使得应用的状态管理和资源控制更加灵活。本文将详细介绍Flutter中的生命周期函数,帮助你更好地掌握Flutter应用的生命周期。

2024-11-15 05:22:39 1907

原创 Xcode 16 pod init失败的解决方案

我们使用Xcode创建新项目之后,执行pod init报错。我们看一下如何解决。

2024-11-14 19:20:26 1238

原创 23种设计模式的Flutter实现第一篇创建型模式(一)

这篇文章主要讲述23种设计模式使用Flutter如何实现。

2024-11-12 17:00:08 1352

原创 Dart中的一些常用注解

在 Flutter 中,Dart 提供了多种注解用于增强代码的表达能力,帮助编译器或分析工具理解代码结构,提升可读性和安全性。标识一个参数是必填的,用在函数或构造函数的命名参数中。当参数使用了 @required,如果调用时未传递该参数,分析器将发出警告。// title 是必填参数注意:@required 已经被废弃,现在可以直接使用 Dart 语言自带的 required 关键字。用于重写父类方法,标识子类对父类方法进行了重写。

2024-11-09 05:22:46 661

原创 Flutter 中 Provider 的使用指南

它使用 InheritedWidget 作为底层实现,通过提供一种订阅与更新的机制,能够让应用在状态变化时自动刷新对应的 UI,极大地提升了开发体验。在应用的根组件中使用 ChangeNotifierProvider,将 Counter 类实例注入到 Widget 树中,使整个应用都可以访问它的状态。在这个例子中,Consumer 会自动监听 Counter 对象的变化,并在 count 值更新时重建它内部的 UI。在使用 Provider 之前,我们需要定义一个简单的状态类。

2024-11-08 01:56:20 2252

原创 Swift中的Combine

Combine 是 Apple 在 iOS 13 中引入的响应式编程框架,它用于处理 Swift 中的异步操作和数据流。通过 Combine,开发者可以将异步操作(例如网络请求、用户输入、通知等)组合成数据流,并对其进行操作和观察。网上搜了下Combine的教程,发现要么是翻译的Apple的文档,要么SwiftUI+Combine直接绑定起来使用,这无疑给没有使用过SwiftUI的同学增加了学习的成本,今天决定写一下自己对Combine的理解希望能帮助到准备入门Combine的同学们。

2024-11-08 01:21:07 2669

原创 Flutter中有趣的级联语法

在 Flutter(Dart)中,级联操作符(cascade notation) 使用两个点 .. 表示,可以让你在对象上连续调用多个方法或设置多个属性,而不需要在每一步都重复对象的名字。这种语法在链式调用和构建复杂对象时非常有用。

2024-11-05 19:46:01 730

原创 Flutter中的Extension关键字

在 Dart 和 Flutter 中,extension 关键字允许开发者为现有的类添加新的功能,而无需修改原有类的代码。这种特性叫做扩展(extension),它使代码更加灵活且易于组织,有助于避免继承带来的复杂性。以下是关于 extension 的详细介绍。

2024-11-04 20:43:37 726

原创 深入了解 Flutter 中的泛型:让代码更灵活更安全的关键

泛型(Generics)是编程语言中一种关键机制,它允许我们在类、接口、方法等结构中使用类型参数,而不必指定具体的类型。在 Flutter 中,泛型可以帮助我们编写出更灵活的代码,同时提升类型安全性。Flutter 中广泛使用了泛型,使得框架中的许多工具和库具备更强的灵活性。比如,Flutter 中的 List 就是一个泛型类,我们可以指定列表存储的类型,让它们在编译时确定类型,避免运行时类型错误。这篇文章主要介绍Flutter中的泛型(Generics)。

2024-11-04 02:05:01 1044

原创 全面解析Flutter中的Stream用法及实际应用

1. 什么是Stream?在 Flutter 中,Stream 是一种用于处理异步数据流的工具。它的作用类似广播频道,允许连续推送数据流,并让其他部分实时监听这些数据。Stream 广泛应用于需要异步处理的场景,比如网络请求、用户输入、数据流实时更新等。2. Stream的分类。

2024-11-04 00:50:32 1792

原创 极简实现酷炫动效:Flutter隐式动画指南第三篇自定义Flutter隐式动画

上两节博客分别介绍了Flutter中的隐式动画的基础知识以及使用隐式动画实现的一些动画效果。当系统提供的隐式动画不能满足我们的需求的时候,我们还可以通过TweenAnimationBuilder 自定义我们的隐式动画。下面进入正题,我们了解下TweenAnimationBuilder的一些知识。

2024-11-02 11:54:04 1268

原创 极简实现酷炫动效:Flutter隐式动画指南第二篇之一些酷炫的隐式动画效果

在上一篇文章中,我们介绍了Flutter中的隐式动画的一些相关知识,在这篇文章中,我们可以结合多个隐式动画 Widget 在 Flutter 中创建一些酷炫的视觉效果,比如弹性按钮、旋转动画、颜色过渡等。以下示例展示如何组合不同的隐式动画,以实现更复杂的视觉效果。1.弹性放大按钮效果我们可以通过结合隐式动画的Widget组件并且通过设置动画的属性,实现一个弹簧效果。效果如下:图1.使用AnimatedContainer实现弹簧动画效果@override_isTapped;});

2024-11-01 19:17:36 1467

原创 GetX在使用过程中一些问题

在 GetX 中,使用 Get 提供的功能可以极大简化应用状态管理、路由导航和依赖注入,但也可能会带来一些副作用。了解这些潜在副作用可以帮助开发者在使用 GetX 时规避潜在问题,编写更健壮的代码。

2024-10-31 03:13:47 1047

原创 GetX中一些非常有用的组件(GetView, GetWidget、GetxService)

这篇文章主要介绍下GetView、GetWidget、GetService的用法。

2024-10-31 02:42:30 2083

原创 GetX的一些高级API

这篇文章主要讲解GetX的一些高级API和一些有用的小组件。

2024-10-31 02:11:36 1217

原创 使用GetX实现GetPage中间件

GetX 中间件(Middleware)是 GetX 框架中的一种机制,用于在页面导航时对用户进行权限控制、数据预加载、页面访问条件设置等。通过使用中间件,可以有效地控制用户的访问流程,并在适当条件下引导用户到所需页面。这篇文文章主要介绍下GetX中间件的用法。

2024-10-31 01:05:56 1321 2

原创 GetX实现国际化、网络请求和切换主题的功能

可以设置请求头,如 Authorization 或其他自定义头信息。

2024-10-30 02:13:25 1126

原创 深入浅出 GetX:超详细实用指南,全方位掌握 Flutter 开发利器第四篇之利用get_cli提高工作效率

get_cli 是 GetX 框架的官方命令行工具,为 Flutter 项目提供了快速生成代码和管理项目结构的便捷方式。它极大地提升了开发效率,让开发者专注于核心功能实现,而不必在项目的基础结构上花费太多时间。这篇文章主要是介绍下get_cli的用法。

2024-10-28 22:09:51 937

RXSwift实现的登陆验证

验证RxSwift的用法

2025-03-07

iOS开发+移动端+cocospods库引用图片资源+cocoapods私有库

iOS开发+移动端+cocospods库引用图片资源+cocoapods私有库

2025-02-07

移动+Swift(MVVM)+Swift+MVVM的实例代码(使用KVO实现)

这篇博客https://blog.csdn.net/ZCC361571217/article/details/145312984附带的实例代码,主要讲解MVVM的用法

2025-01-23

Flutter+Flutter+Getx+GetX中路由管理用法,跟博客一起的Demo

https://blog.csdn.net/ZCC361571217/article/details/136696053博客使用的demo

2024-10-31

Flutter+Getx+状态管理、路由管理、getx用法+用于展示Getx用法

博客:https://blog.csdn.net/ZCC361571217/article/details/143276944 附带的示例代码,这里是使用getx实现的功能

2024-10-28

Flutter+Getx+状态管理、路由管理、getx用法+用于展示Getx用法

博客:https://blog.csdn.net/ZCC361571217/article/details/143276944 附带的示例代码

2024-10-28

移动端+OC/Auto Layout+自动布局 UIStackView+iOS UIStackView

这个链接是一个demo ,主要是UIStackView嵌套的一个实例代码。在iOS开发的过程中,我们使用UIStackView是自动布局的一种不使用约束而进行自动布局的一种方式。

2024-08-14

移动端国际化+flutter+Flutter getx+GetX实现国际化

Flutter使用GetX框架实现国际化的Demo.具体的文章可以查看:https://blog.csdn.net/ZCC361571217/article/details/140390890?spm=1001.2014.3001.5502

2024-07-16

Flutter+getx+dart+使用getx实现鉴权

在 Flutter 中,使用 GetX 可以很方便地实现中间件鉴权(Authentication)。中间件可以在导航之前拦截路由请求,并进行相应的处理,例如检查用户是否已登录。如果未登录,则可以重定向到登录页面。 这个demo是通过一个登陆的例子展示下Getx如何实现鉴权的功能。 详细的使用可以参考这篇博客:https://blog.csdn.net/ZCC361571217/article/details/140535402

2024-07-19

跨平台开发+Flutter+intl+国际化

Flutter使用intl实现国际化。

2024-07-16

数据结构+顺序表的C语言实现

本工程实现了严蔚敏 《数据结构 C语言》中顺序表的实现以及常用的操作。包括顺序表的初始化、销毁、求表长、查找、查询前驱节点、查询后继节点、插入、删除、遍历、打印等功能。并且写了测试代码,对每个函数都做了测试。希望能帮到正在学习数据结构的您。我这里用的IDE是XCode,如果你使用的是Windows系统,只需要把代码拷贝到您的工程中,重新编译运行下节即可。如果遇到问题,可以在我博客下面留言。 // 初始化 int initSeqList(SeqList * seqList); // 销毁顺序表 void destroySeqList(SeqList *seqList); //// 置空线性表 void clearSeqList(SeqList *seqList); // 判断是否为空表 int seqListIsEmpty(SeqList *seqList); // 求表长 int seqListLength(SeqList *seqList); ////查找 int getSeqListElementInPosition(SeqList *seqList,int pos

2024-04-24

Flutter+Flutter GetX状态管理+GetX状态管理+Getx状态管理

目前,Flutter有几种状态管理器。但是,它们中的大多数都涉及到使用ChangeNotifier来更新widget,这对于中大型应用的性能来说是一个糟糕的方法。你可以在Flutter官方文档中查到,ChangeNotifier应该使用1个或最多2个监听器,这使得它实际上无法用于任何中等或大型应用。 其他的状态管理器也不错,但有其细微的差别。 BLoC非常安全和高效,但是对于初学者来说非常复杂,这使得人们无法使用Flutter进行开发。 MobX比BLoC更容易,而且是响应式的,几乎是完美的,但是你需要使用一个代码生成器,对于大型应用来说,这降低了生产力,因为你需要喝 Flutter主要的三个用途:1.路由管理 2.状态管理 3.路由管理,这篇资源介绍的事使用GetX进行状态管理,包含响应式状态管理的概念、Obx的用法、GetController的用法、GetBuilder的用法、以及GetX和其他优秀的状态管理三方库例如bloc等混合使用的方法、GetX的优势等用法,建议一边看文章的介绍,一篇看这篇资源文件,如果这篇文章能帮到你,本资源上传的目的就达到了,麻烦给个好评,不胜感激!

2024-03-16

flutter+getx+getx路由管理+getx用法

CSDN博客Flutter中getx路由管理的demo资源。 这里主要是讲解Flutter中GetX框架路由管理的用法。 包括GetX的安装,计时器Demo使用getx改造,GetX的路由管理三个方面。 GetX的路由管理又分成普通路由导航、别名路由导航、中间件、免context导航四个模块,对应的文章地址链接如下:https://iflycaizhang.blog.csdn.net/article/details/136696053?spm=1001.2014.3001.5502,如果这篇文章能帮到您,麻烦给个五星评分谢谢,感激不尽,谢谢哈。

2024-03-16

iOS中MVC设计模式实例代码

iOS中MVC设计模式代码 iOS+设计模式

2023-11-08

iOS framework打包实例demos

iOS打包framework的实例代码,Swift和OC实例都有,详细的内容可以看博客内容 iOS打包framework的详细步骤如下(Swift和OC通用): 1.创建framework项目 2.配置项目打包参数 3.创建测试代码(OC需要把头文件移动到public 中,Swift需要添加open修饰符) 4.创建合并真机和模拟器的合并脚本 5.创建一个测试工程,导入通过我们上面的步骤创建的framework,测试Demo 备注:作者使用的开发环境配置如下: XCode版本号 14.3 Mac !3.5

2023-07-31

flutter路由跳转和传值方式demo

内容概要:这里写了一个demo,描述了Flutter开发过程中路由跳转的传值方式,记录下,希望能够帮到那些准备使用Flutter开发软件的开发者。 适合人群:准备刚入行的新手小白或者有经验的大神做个备份

2022-10-11

OpenGL(iOS版本)

简单的openGL ,如果你想学会iOS绘图,这本电子书是你无悔的选择

2014-06-09

iOS动画高级讲解

iOS动画高级特性 如果你想深入的了解iOS中的动画,这本书将会是非常不错的选择哦

2016-02-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除