随笔分类 - iOS开发
摘要:在日常 Objective-C 开发中,我们常常会给属性加上 readonly 修饰符,认为这样就能防止外部修改它。 但是很多同学第一次遇到下面的情况时,都会一脸疑惑: @property (nonatomic, strong, readonly) NSMutableArray<FBMutableB
阅读全文
posted @ 2025-08-25 14:09
码出境界
摘要:出现 could not generate swift representation Error(from sourcekit): "loading the standard library failed" 的问题,通常是由于 Swift 编译器无法正确加载标准库。这可能与 Xcode 的配置、项目
阅读全文
posted @ 2024-12-20 15:05
码出境界
摘要:当静态库中包含分类时,链接器默认情况下不会加载这些分类的实现,因为分类不是主类的一部分。 添加 -ObjC 选项可以告诉链接器强制加载所有 Objective-C 代码,包括分类的实现。 如果你的静态库中使用了分类,而不添加 -ObjC,运行时可能会报错,例如 unrecognized select
阅读全文
posted @ 2024-12-19 16:33
码出境界
摘要:关于标签栏中的图标和文字在UI上的显示逻辑如下: 1、一般而言,图标和文字只需要按照如下代码配置 UITabBarItem *tBarItem = [[UITabBarItem alloc] initWithTitle:@"Home" image:[UIImage imageNamed:@""] t
阅读全文
posted @ 2024-08-23 14:39
码出境界
摘要:1、尽量使用delegate,sdk接口主要是暴露delegate做回调和委托 2、在sdk中,如果A类要调用B类的方法,但是又不想将方法开放给App层调用,那么可以对B类进行扩展的方式,如果只有A类中调用,那直接在A类的实现中对B类的扩展进行声明,在B类的实现中进行定义。 3、在接口类中定义属性,
阅读全文
posted @ 2024-03-22 14:29
码出境界
摘要:1、规格大小 这个规格大小,其实去Xcode项目上创建一个「iOS App Icon」图片资源,规格大小也就出来了,为了方便跟UI设计师沟通,本文罗列下: 2、其他要求 1024x1024pt@1x这张图片需要关闭Alpha通道,然后必须是直角。 其他的图片开启Alpha通道,可以不一定是直角。
阅读全文
posted @ 2024-03-20 11:39
码出境界
摘要:Swift的编译器一直在更新,一定是向下兼容的,比如Swift 5.8肯定是兼容Swift 5.5的。 但是用Swift 5.5打包出来的SDK,交给客户那里,客户是Swift 5.8版本,客户就用不了我们提供的SDK了,除了麻烦的我们也要保持用最新Xcode打包SDK方法外,可以在打包SDK的Fr
阅读全文
posted @ 2023-11-30 17:41
码出境界
摘要:1 概述对于定时器的使用,主要就是关注3个方面:(1)创建并启动一个定时器(重复/不重复);(2)定时器的销毁,防止内存泄漏;(3)定时器的开启和关闭。另外在OC和Swift中,写法上有些细节注意下,详情看下面的代码块示例。 2 OC语言 2.1 Timer实例对象的创建 NSTimer *time
阅读全文
posted @ 2023-11-29 17:06
码出境界
摘要:Edit Schemes - Run - Arguments - Environment Variables 添加: Name:OS_ACTIVITY_MODE Value:disable
阅读全文
posted @ 2023-11-14 20:56
码出境界
摘要:1、Xcode 切换到相应的 Target,选择到 Signing & Capabilities,找到 Provisioning Profile Managed Profile,旁边有一个 Info符号,点击,展示PP文件详情,然后拖动左上角的PP文件图标到桌面,主要是为了获取该 PP文件的名字。(
阅读全文
posted @ 2023-11-09 14:14
码出境界
摘要:背景介绍: 项目使用了pod、pch、第三方库文件,目录结构如下: 打开xcworkspace文件,里面的需要修改的目标位置包括: 现在可以按照下面的步骤进行操作了: 第一步: 打开xcworkspace文件,直接在Xcode中文件结构的最外层的xcodeProj修改名字(也就是位置1),会自动提示
阅读全文
posted @ 2023-10-25 17:33
码出境界
摘要:比如: String *className = @"AboutVC"; UIViewController *viewController = [[NSClassFromString(className) alloc] init]; 相对于: UIViewController *viewControl
阅读全文
posted @ 2023-10-21 17:26
码出境界
摘要:1、主线程延迟执行 DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { // TODO: 需要延迟执行的操作 } 2、子线程延迟执行 DispatchQueue.global().asyncAfter(deadline: DispatchT
阅读全文
posted @ 2023-09-26 11:45
码出境界
摘要:【参考】https://www.jianshu.com/p/b68a98f9eeff?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes
阅读全文
posted @ 2023-03-07 19:55
码出境界
摘要:Region Monitoring and iBeacon 区域监测和iBeacon The Core Location framework provides two ways to detect a user’s entry and exit into specific regions: geog
阅读全文
posted @ 2023-02-03 17:23
码出境界
摘要:有三个概念要区分下: (1)通知中心:这个是语法中的设计模式,一对多的广播通知,代码中订阅了该通知的监听者可以接受此通知进行处理 (2)远程通知:也可以说是APNs通知,极光推送等,一般指的是远程通知,使用服务器进行通知。这类通知会出现在「手机通知栏」中 (3)本地通知:比如手机中设置的闹铃时间到了
阅读全文
posted @ 2023-02-03 15:13
码出境界
摘要:rawValue 用于swift中的enum(枚举),用于取枚举项的原始值,例如: enum Category: String, CaseIterable, Codable, Hashable { case featured = "Featured" case lakes = "Lakes" cas
阅读全文
posted @ 2022-09-23 14:11
码出境界

浙公网安备 33010602011771号