Notes · since 2014

梧桐

移动前端技术专家 / 全栈工程师

个人技术博客。关注 iOS / Android / HarmonyOS 三端、AI 与证券应用、移动端架构与工程实践。

17 篇文章

  1. 生成式 UI 技术方案对比报告:Thesys OpenUI、A2UI 与 json-render

    使用 DeepSeek 对 Thesys OpenUI、A2UI 与 json-render 进行四场景三轮实测,比较 OpenUI Lang、协议消息与 JSON Spec 的真实用量、耗时及集成条件。

    AI
  2. 面向移动端 AI 开发的可检查交付流程设计

    mobile-delivery-workflow 是一套接入现有代码仓库的移动端需求交付工作流,负责组织需求、设计、开发、测试、评审和合入,不替代编码规范、构建系统、CI 或人工批准。

    AI
  3. 关于 Xcode 的 Build Settings

    官方文档 Xcode Build Setting Reference 有介绍构建设置每个项的含义。这里我主要挑选几个使用比较多的作分享。 1.证书和描述文件 证书和描述文件是我们平时使用最多的,特别是带有 today 或者 watch 的项目,配置一套尤为烦人。在团队开发中,会存在更新项目后需要重新配置描述文件的问题。其实这里有个简单的方法。 (1) 在开发…

  4. Objective-C 与 cpp 混编的注意点

    最近在忙一个IM项目,使用的是 gloox 开发包,那么问题就来了。 iOS混编的要点 - OC 调用 C++ 这种情况比较简单,因为编译器做了优化,把 .m 文件直接改为 .mm ,然后直接用就好了。 - C++ 调用 OC 这种又分为两种情况:1.完全的 C++ ,那么实现文件以 .cpp 结尾,里面不允许使用OC的方法。那么怎么间接调用 OC 方法?写…

  5. Objective-C 编译器指令简介

    @class 声明某个类但不需要引入头文件 @class TempClass 获取某个类 NSString ClassName = @"TempClass"; Class c = @class(TempClass); ❌ Class c = [TempClass class]; ❓ Class c = NSClassFromString(ClassName)…

  6. 码农技术分层(转自知乎)

    在知乎看到的程序员技术水平层次,分享在这边勉励自己继续努力。 1层是数学(加密解密,压缩算法,时频转换,计算机模拟\仿真) 2层是数字电路(机器码如何被硬件电路执行的过程) 3层是计算机组成原理(计算机体系架构,计算机是如何组成的) 4层是计算机算法和数据结构(低端排序,中端动态规划,高端人工智能) 5层是计算机操作系统,计算机图形学和编译原理(linux内…

  7. block实现再研究(借助clang)

    iOS编译过后的代码,这个在理解oc内部实现比较有帮助 ifndef OBJC2 define OBJC2 endif struct objcselector; struct objcclass; struct rwobjcsuper { struct objcobject object; struct objcobject superClass; rwob…

  8. 深入研究block语法

    我举一个简单的例子来定义和使用block void (^block1)(void) = ^void (void){ NSLog(@"hello"); }; block1(); 是不是很简单啊!么得什么难度嘛! block的存在样式 .h typedef returnType(^name)(arguments); typedef void(^block2)(v…

  9. 如何使用Masonry简化iOS屏幕适配

    开源项目Masonry旨在让自动布局(Auto Layout)的代码更简洁,可读性更强。 Masonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax. Masonry has its own layout DSL which provides a …

  10. Xcode单元测试

    Xcode 6 的发布给我们带来了诸多新特性,譬如时下最火的swift,即时显示的playground,增强的interface builder支持实时渲染等等。今儿来看看Xcode 6 更新的但是少有重视的XCTest框架,此框架现已扩展为支持性能测试。 关于iOS项目测试 测试是开发质量的保证,Xcode自4.x以来就集成了自己的测试框架OCUnit,参…

  11. Objective-C 奇妙的宏定义

    ObjC是C的超集,所以自然也就继承了他的宏,本文介绍一些宏定义的示例以及在项目中常用的宏定义。 宏定义的好处 首先是能方便管理程序中常量,不需要找来找去还会丢掉。再者可以节省不少代码啊(懒 -. -),提升程序运行效率。 宏定义的写法 define PI 3.14 define kWidth 200 define Max(a,b) ((a) (b) ? (…

  12. 设计模式来啦,MVVM模式

    接触MVVM有一段时间了,期间通过网上的例子,公司的开发平台对Model-View-ViewModel这种模式有一定的了解,遇到不少问题,也有一些自己的理解。 情景1:团队辛辛苦苦完成了一个项目,抱着激动的心情去给用户做demo,而用户给你的反馈是UI很不满意,要重新修改,否则拒绝验收。大规模修改UI,晴天霹雳! 情景2:产品在一家客户上线运行反应不错,公司…

  13. KVO的简单实现方法

    KVO (Key Value Observing)是ios里面一种特别方便的机制用于“捕捉”对象属性的变化。在概念理解上,是设计模式里面观察者模式的一种实践。 目标:观察UILabel对象属性 - (void)viewDidLoad { [super viewDidLoad]; self.lab=[[UILabel alloc]initWithFrame:C…

  14. 关于项目管理的一些思考

    项目管理是将项目工作分散,分配给各个部门以减轻不同任务协调带来的麻烦。项目管理最早可以追溯到军事与建筑行业,美国国家航空和宇宙航行局伟大的登月行动也采用了项目管理。从那以后,政府与企业都接受了项目管理。即使管理最简单任务的人现在也能找到便宜的项目管理软件。 大部分对项目管理这一名词感到熟悉,但少数人完全觉得项目管理存在很大的复杂性。事实上项目管理是一种工作和…

  15. 常用编程语言语法笔记

    1、面向对象的类 1)类的定义 Objective-C(下称OC)和C都是面向对象的语言,虽然OC比C古老,起源自C,但是很多特点和C都很接近了,在C3.0里面才引入的扩展方法,在OC里面也存在了。 OC和C都一样,他们继承的关系都是单继承的,没有C++的那种多重继承那么复杂,OC很有特点的一个要求就是把接口和实现完全分开,这点是熟悉C开发的人员必须转换过来…

  16. iOS使用高德地图SDK示例

    最近在做一个地图的项目,使用高德地图POI的功能。 下面分享一些过程中遇到的问题: 1.资源包导入 使用高德地图,必须申请Key,官网上有详细教程。 高德地图SDK根据功能划分,提供了3个不同的静态库用作编译,分别是栅格渲染引擎(2D)的MAMapKit库,矢量渲染引擎的MAMapKit库以及搜索服务的AMapSearchKit库,此处可以根据项目的具体需求…

  17. Bee(BeeFramework) 用户指南 v1.0

    Geek们都在用! 你自认为是GEEK吗?燃烧起来吧! 在时间成本、学习成本、开发成本同时兼顾的情况下,BEE是最好的RAD开发选择。 欢迎使用Bee Bee是一套给iOS开发者使用的应用程序“快速”开发框架,它集成了基于COCOA TOUCH的很多扩展组件,并提供简洁(稍有些抽象)的接口,其目的是让开发人员可以"快速"地进行项目开发(不管您是接外包也好,还…