• 2024-09-22【iOS】KVC
    文章目录KVC的定义容器类中KVC的实现KVC设值KVC取值KVC使用KeyPathKVC处理异常KVC处理设值nil异常KVC处理UndefinedKey异常KVC处理数值和结构体类型属性KVC键值验证KVC处理集合简单集合运算符对象运算符KVC处理字典KVC应用动态地取值和设值用KVC来访问和修改
  • 2024-09-07Objective-C 动态调用秘籍:NSInvocation 的魔法
    标题:Objective-C动态调用秘籍:NSInvocation的魔法在Objective-C编程中,NSInvocation是一个强大的工具,它允许你在运行时动态地调用方法。这种能力对于实现诸如方法拦截、依赖注入、或者在不知道方法签名的情况下调用方法等高级功能至关重要。本文将深入探索NSInvocation的使用方法,并
  • 2024-09-02添加和读取图片的exif信息
    添加经纬度信息和自定义字段#import<ImageIO/ImageIO.h>-(NSData*)addExifDataToImage:(NSData*)imageDatawithLatitude:(double)latitudelongitude:(double)longitudecustomField:(NSString*)customFieldValue{//创建图片数据源CGImageSourceRefsource=
  • 2024-08-08Swift 引用 OC 的类库
    1、创建引用文件///{项目名称}-Bridging-Header.hXQTest-Bridging-Header.h2、创建OC类@interfaceAuth:NSObject@property(nonatomic,assign)NSIntegercode;@property(nonatomic,strong)NSString*name;-(instancetype)initWithCode:(NSInteger)codename:
  • 2024-08-08Objective-C学习笔记(Block用法)
    Blocks(块)block以插入字符(^)为标识。可以作为函数参数,返回值,或直接调用返回类型(^block命名)(参数类型1,参数类型2)NSString*(^stringBlock)(int,int)=^NSString*(inta,intb){return[NSStringstringWithFormat:@"%d%d",a,b];};当使用block作为函数的参
  • 2024-08-05Apple开发_正则表达式相关
    NSString+Regex.h#import<Foundation/Foundation.h>//正则表达式相关@interfaceNSString(Regex)//邮箱验证-(BOOL)is_Email;//手机号码验证-(BOOL)is_Phone_Num;//车牌号验证-(BOOL)is_Car_No;//网址验证-(BOOL)is_Url;//邮政编码-(BOOL)is_
  • 2024-08-03iOS开发基础146-深入解析WKWebView
    WKWebView是苹果在iOS8中引入的重要组件,它替代了UIWebView,为开发者提供了高性能、高稳定性的网页显示和交互能力。在本文中,我们将深入探讨WKWebView的底层架构、关键特性、使用方法和高级功能。一、WKWebView的底层架构WKWebView基于WebKit框架,采用多进程架构,将页面渲染和JavaS
  • 2024-07-31ios CCNSURL.m
    ////CCNSURL.h//CCFC////#import<Foundation/Foundation.h>@interfaceNSURL(cc)+(NSString*)telephonePrefix;+(NSString*)smsPrefix;+(NSString*)mailPrefix;+(NSString*)googleMapPrefix;@end////CCNSURL.m//CCFC////
  • 2024-07-30【iOS】——KVC和KVO
    KVCKVC定义KVC(Key-valuecoding)键值编码,允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时确定。也就是说它提供一种机制来间接访问对象的属性,而不是通过调用Sett
  • 2024-07-20ios CCUIDevice.m
    ////CCUIDevice.h//CCFC////#import<Foundation/Foundation.h>#import"CCConfig.h"#import<mach/mach.h>//判断设备是480*320还是960*640#defineIS_RETINA\([UIScreeninstancesRespondToSelector:@selector(currentMode)]?
  • 2024-07-17iOS开发基础114-YYCache
    YYCache是一个高性能、易用的缓存组件,广泛用于iOS开发中。其设计宗旨是高效且灵活,可以处理不同类型的缓存需求。以下将介绍YYCache的常见应用场景,并深入分析其底层原理。应用场景1.图片缓存在展示大量图像的应用(比如社交媒体应用)中,缓存机制可以大幅减少网络请求,提升用户
  • 2024-07-08OC-NSArray的基本介绍
    NSArray是不可变的;存储不同类型的对象。这意味着一个NSArray可以同时包含NSString、NSNumber、NSDictionary等不同类型的对象。同时只能存储对象,不能直接存储基本数据类型(如int、float等)。如果需要存储基本数据类型,应该先将它们封装为相应的对象类型(如NSNumber或NSValue)。
  • 2024-07-05ios CCPhone.m
    ////CCPhone.h//CCFC////Createdbyxichenon11-12-16.//Copyright2011年ccteam.Allrightsreserved.//#import<Foundation/Foundation.h>#import<UIKit/UIKit.h>#import"CCConfig.h"#import"CCDepend.h"#impo
  • 2024-06-23ios CCKeyboard.m
    ////CCKeyboard.h//CCFC////Createdbyxichenon11-12-23.//Copyright2011ccteam.Allrightsreserved.//#import<Foundation/Foundation.h>#import"CCCommon.h"#import"CCConfig.h"#import"CCDepend.h"
  • 2024-06-19ios CCEncoding.m
    ////CCEncoding.h//CCFC////Createdbyxichenon11-12-18.//Copyright2011ccteam.Allrightsreserved.//#import<Foundation/Foundation.h>//"陈曦"的unicode编码为://0x480x960xE60x66//UTF8编码为://
  • 2024-05-28IOS开发学习日记(九)
    目录IOS沙盒机制和文件结构IOS文件管理NSFileManagerNSFileHandle简单实现创建、查询、删除文件及追加内容IOS中的序列化NSCoderNSKeyedArchiverNSCoding 简单实现数据的序列化与反序列化开源存储方案对比分析NSUserDefault开源框架IOS沙盒机制和文件结构
  • 2024-01-24OC 中 nullable、__nullable、_Nullable 的区别
    在Objective-C中,nullable、__nullable和_Nullable都是用来表示一个对象可以是nil的注解。它们在不同的上下文中使用,但本质上具有相同的意义。这些注解主要用于与Swift互操作时提供更清晰的API,并帮助开发者更好地处理nil值。以下是它们各自的使用情况和区别:nullablenull
  • 2024-01-02OC文件存储-补充
    NSKeyedArchiver-对象归档对象归档是指将对象写入文件保存在硬盘上,再次打开程序可以还原对象。(序列化、持久化)归档形式对foundation库中的对象进行归档单一对象归档NSArray*arr=@[@1,@"sda"];NSString*homePath=NSHomeDirectory();NSString*path=[homePathstringByAp
  • 2023-12-25UI定制 - 全局提示框
    ■ 全局提示框在开发中,一个全局提示框是很有必要的,毕竟系统的弹框是满足不了产品的变态要求。实现这样一个功能其实很简单代码示例:PopView就是我们要封装的全局弹框//-PopView.h1#import<UIKit/UIKit.h>2typedefvoid(^cancelBlock)(void);3typedefvoid(^sure
  • 2023-11-14Apple开发_NSString 使用 strong 与 copy 进行修饰的区别
    测试代码-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{NSMutableString*m_notiion=[[NSMutableStringalloc]init];m_notiion.string=@"房号密码的功能";self.m_notiion=m
  • 2023-11-10在Objective-C中,我如何测试对象的类型?
    内容来自DOChttps://q.houxu6.top/?s=在Objective-C中,我如何测试对象的类型?我需要测试对象是否是NSString或UIImageView类型。我该如何实现?是否有一种类似于“isoftype”的方法可以使用?如果你的对象是myObject,并且你想测试它是否为NSString类型,代码如下:[myObjecti
  • 2023-11-09多文件并行上传方案设计
    多文件并行上传方案设计https://mp.weixin.qq.com/s/Zb-PBejtSBLaBN0LEPrjVg多文件并行上传方案设计原创 刘壮 搜狐技术产品 2023-11-0907:30 发表于北京  本文字数:2360字预计阅读时间:15分钟01背景抖音、快手等短视频 APP 都有本地编辑视频并上传的功能,这里
  • 2023-10-25Apple开发_字符串后缀如果包含有数字,提取出字符串后缀全部的数字
    NSString分类@implementationNSString(GC)-(NSString*)suffix_Num{//匹配字符串末尾的数字NSString*pattern=@"\\d+$";NSError*error=nil;NSRegularExpression*regex=[NSRegularExpressionregularExpressionWithPattern:patternoptions
  • 2023-10-03无涯教程-OC - SQLite
    SQLite可以在iOS中用于处理数据。它使用sqlite查询,这对于那些了解SQL的人来说更加容易。涉及步骤步骤1-创建一个简单的基于视图的应用程序。步骤2-选择您的项目文件,然后选择目标,然后在选择框架中添加libsqlite3.dylib库。步骤3-选择"File"→"New"→"File...",然后选择
  • 2023-10-02无涯教程-OC - 加速传感器
    Accelerometer计用于检测设备在三个方向x,y和z上的位置变化,无涯教程可以知道设备相对于地面的当前位置,为了测试该示例,您需要在设备上运行它,并且不能在模拟器上运行。示例的步骤第1步 - 创建一个简单的基于视图的应用程序。第2步 -在ViewController.xib中添加三个标签,