objective-c

鹤卿1238 小时前
ui·ios·objective-c
OC UI ——UIGestureRecognizer 手势识别简单来说,我们之前通过 UIButton 实现点击交互,是“控件绑定事件”;而手势识别是“脱离控件本身,直接监听屏幕动作”——无论是 View、ImageView、Label,甚至是空白区域,只要添加了手势识别器,就能响应对应的手指动作.
pop_xiaoli3 天前
ios·objective-c·cocoa
【iOS】autoreleasePool自动释放池是OC中的一种内存回收机制,可以将加入autoreleasePool中的变量release时机延迟。当创建一个对象,在正常情况下,变量会在超出其作用域的时立即release。如果将对象加入到了自动释放池中,这个对象并不会立即释放,会等到runloop休眠/超出autoreleasepool作用域{}之后才会被释放。
秋雨梧桐叶落莳3 天前
学习·macos·ios·objective-c·cocoa
iOS——ZARA仿写项目搭建文件结构前,我们需要弄清楚MVC框架都需要哪些内容,我们从内容入手分析在SceneDelegate中创建:
00后程序员张5 天前
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
iOS开发中Xcode安装不完整问题解决方案与配置指南在iOS和macOS开发过程中,Xcode的完整安装是必要前提。本文将系统梳理Xcode安装不完整的解决方案,涵盖安装验证、多版本管理、环境配置等核心环节。
pop_xiaoli5 天前
macos·ios·objective-c·cocoa
【iOS】RunLoop一般来说线程执行完任务就会退出,而runloop作用就在于,线程一直在处理事件并且不会退出。要实现runloop这种模式关键点就在于怎么管理事件/消息,让线程在没有处理消息时休眠以避免资源占用,在有消息到来的时候立刻被唤醒。
for_ever_love__5 天前
学习·ui·ios·objective-c
UI学习:数据驱动ce l l一句话定义:Cell 的视图状态完全由外部传入的数据模型(Model)决定。数据驱动 Cell 正是 MVC 设计模式在 UITableView / UICollectionView 场景下的具体落地实践。
MonkeyKing71556 天前
ios·objective-c
iOS Block 底层深度解析:结构、变量捕获、copy逻辑与循环引用本质在iOS开发中,Block是Objective-C(以下简称OC)的核心特性之一,也是面试高频考点——从日常的UI回调、网络请求回调,到GCD异步任务,Block无处不在。但很多开发者对Block的认知仅停留在“匿名函数”的表层,不清楚其底层结构、变量捕获的规则、copy的底层逻辑,更难精准定位循环引用的本质,导致开发中频繁出现内存泄漏、崩溃等问题。
MonkeyKing71557 天前
ios·objective-c·音视频
iOS音频时钟、时钟同步与音频时间戳原理详解在iOS音频开发中,「音频时钟」「时钟同步」「音频时间戳」是支撑音频播放、录音、编辑、实时通话等功能的底层核心——很多开发者在开发时,常会遇到“音频卡顿”“音画不同步”“录音与播放速度不一致”“多音频混音错位”等问题,本质上都是这三个概念的理解不到位或适配不当导致的。
MonkeyKing71557 天前
ios·objective-c·音视频
iOS 音频硬件架构:采样率、位深、声道、音频缓冲区核心解析在iOS开发中,音频功能是很多App的核心模块——从简单的音频播放、录音,到复杂的语音通话、音频编辑、实时音效,都离不开对iOS音频硬件架构的理解。很多开发者在开发音频相关功能时,常会遇到诸如“音频卡顿”“杂音”“音量异常”“延迟过高”等问题,究其根源,大多是对采样率、位深、声道、音频缓冲区这四大核心概念理解不透彻,未能结合iOS音频硬件的工作机制进行合理配置。
MonkeyKing71557 天前
ios·objective-c·音视频
iOS音频编解码基础:PCM、WAV、MP3、AAC、FLAC 格式差异与移动端适配在iOS音频开发中,除了掌握采样率、位深、声道等硬件相关概念,音频格式的选择与编解码适配更是决定音频功能体验的关键。很多开发者在开发音频播放、录音、编辑功能时,常会陷入“格式兼容问题”“音质与体积失衡”“解码卡顿”等困境——比如用AVAudioPlayer播放FLAC文件失败,用MP3格式录制语音导致杂音严重,或是忽略格式特性导致内存占用过高。
MonkeyKing71557 天前
ios·objective-c
iOS类加载全解析:map_images、load_images、initialize调用时机在iOS开发中,Objective-C类的加载是Runtime机制的核心环节,而map_images、load_images、initialize这三个关键流程,直接决定了类从“二进制文件”到“可使用实例”的转化过程。很多开发者只熟悉+load和+initialize方法,却对其底层依赖的map_images、load_images知之甚少,导致在处理方法交换、类初始化、启动优化等场景时踩坑。
MonkeyKing71557 天前
ios·objective-c
iOS Non-pointer isa 结构解析与优化在iOS开发中,isa指针是Objective-C对象的核心基石——每个OC对象都有一个isa指针,用于指向其所属的类对象,是对象与类之间关联的桥梁。自iOS 64位架构(iPhone 5s及以后)引入Non-pointer isa(非指针型isa)以来,它彻底取代了传统的Pointer isa(指针型isa),成为系统底层优化的关键技术之一。
MonkeyKing71557 天前
ios·objective-c
iOS dyld加载流程与App启动原理(pre-main阶段)详解在iOS开发中,我们每天点击App图标启动应用,背后隐藏着一套复杂的底层流程——其中dyld(动态链接器)是整个启动过程的“总指挥”,而pre-main阶段(从App图标被点击到main函数执行前)的加载效率,直接决定了App的启动速度。很多开发者只关注main函数后的业务逻辑,却对pre-main阶段的dyld加载细节一知半解,导致在启动优化、崩溃排查时无从下手。
泉木7 天前
ios·objective-c
KVO 详解 —— iOS/ObjC 完整学习指南KVO(Key-Value Observing)是 Cocoa 提供的一种观察者模式实现机制,允许对象监听另一个对象特定属性的变化,当该属性值发生变化时,系统会自动通知所有注册的观察者。
MonkeyKing71558 天前
ios·objective-c
iOS Tagged Pointer 原理、判断方式、适用场景与避坑指南在iOS开发中,Tagged Pointer是苹果在64位架构下推出的一项底层优化技术,自iPhone 5s(搭载A7 64位处理器)起引入,核心目的是解决“小对象存储效率低、访问速度慢”的问题。很多开发者在日常开发中会间接用到它(如使用NSNumber、NSString),但对其底层原理、判断方式和潜在陷阱一知半解,导致出现难以排查的崩溃或性能问题。
for_ever_love__8 天前
学习·ui·ios·objective-c
UI学习:无限轮播视图在仿写 ZARA 的时候, 在商品展示页需要写一个无限轮播视图用于展示商品, 笔者在这一部分遇到了很多困难, 现在在这里做一总结
秋雨梧桐叶落莳9 天前
学习·ui·ios·架构·mvc·objective-c
iOS——MVC架构学习MVC 是一种解耦代码的设计,把一个功能拆成三块来写,分别是:三个首字母合起来就是 Model-View-Controller,缩写 MVC。
pop_xiaoli9 天前
ios·objective-c·cocoa
【iOS】锁的原理载自旋锁中线程会反复检查变量状态,线程一直保持执行,所以处于忙等待(CPU空转)。一旦获取了自旋锁,线程就会一直保持该锁直到显示释放。自旋锁避免了进程上下文的调度开销,所以适用于线程阻塞很短时间的场合,atomic自带一把自旋锁
代码的小搬运工9 天前
开发语言·ui·ios·objective-c
UITableViewUITableView 本质就是一个可复用的列表容器数据 → 显示规则 → 渲染成一行一行的 cell
wuxianda10309 天前
ios·uni-app·objective-c·cocoa·苹果上架
Object-C/Swift/UniApp项目苹果商店上架3天极速解决方案汇报总结苹果App Store的4.3a条款,核心目标是防止“马甲包”“套壳应用”及低质量重复内容泛滥,维护App Store的生态健康。但随着苹果审核机制升级为“机审+人审+历史对比”的三重模式,无论是原生开发还是跨平台开发,都可能因各种原因触发4.3a拒审。