Objective-C
文章平均质量分 82
Objective-C 语言特性
Code&Ocean
遨游在编码海洋中。
iOS Developer
展开
-
Objective-C NS_OPTIONS 类型的枚举
NS_Options 是 Objective-C 中枚举的一种,被定义为按位掩码,可以进行组合枚举表示。用简单的`|`或者`&`数据运算来实现整数的编码。每一个值不是自动被赋予从0开始依次累加1的值,而是手动被赋予一个带有一个bit偏移量的值:类似`1原创 2021-12-31 11:02:09 · 2377 阅读 · 0 评论 -
iOS混编参考阅读
鉴于 Objective 已经打下了一大片江山,但是还是要将江山与 Swift 共享,所以就涉及到项目使用 Objective-C 和 Swift混编,如果让这两种语言更加相互融合,充分利用 Swift 的语言优势了。怎样让 Objective-C 更便利桥接给 Swift以下内容来源于师大小海腾–掘金,详情建议阅读原文,原文有许多举例和相关参考阅读。iOS 混编|为 Objective-C API 指定可空性关键词:nullable、nonull、null_resettable、null_rese转载 2021-11-23 15:58:54 · 1033 阅读 · 0 评论 -
NSPredicate的使用
转自iOS中的谓词(NSPredicate)使用NSpredicate介绍首先,我们需要知道何谓谓词,让我们看看官方的解释:The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filterin转载 2017-04-26 13:30:25 · 575 阅读 · 0 评论 -
NSCoding 的作用
有时候我们在定义一个模型类的时候,经常要继承NSCoder这个协议,具体它有什么作用了?NSCoding首先是一个协议,类继承它,此类的实例才能被编码(encode)和译码(decode),继承了这个类,也就实现两个方法 1.initWithCoder(NSCoder:coder)//从coder中读取数据,保存到相应的变量中,即反序列化数据2.encodeWithCoder(NSC原创 2015-12-26 10:07:20 · 1787 阅读 · 0 评论 -
Swift 与 Objective-C混编xxx-Swift.h File not found
在iOS 开发中,由于苹果14年发布了Swift语言,具备简单实用、高效等诸多优点,越来越受开发者青睐。另外,由于Objective-C多年发展和稳定性,有很多框架(特别是商业SDK)采用Objective-C,或者之前的老项目使用Swift语言。都需要涉及到混编,才可以实现文件相互识别与引用。Swift中使用Objective-C重点文件:桥接文件如果创建项目选择的是Swfit...原创 2019-12-18 15:25:09 · 5856 阅读 · 0 评论 -
UITableVeiw相关的需求解决
需求一:tableViewCell上添加一个详情按钮,点击实现效果和点击cell一致,需要获取数据源然后跳转。解决方法: 1.由cell处理点击,添加一个label代替button或者将button的点击用户交互取消(.isUserInteractionEnabled),点击事件交给cell处理。2.调用代理实现 : tableView.delegate?.tableVi原创 2017-12-27 11:24:58 · 338 阅读 · 0 评论 -
iOS单例模式定义与使用
单例模式是iOS开发中常用的一种设计模式,目的在于创建一次对象,多地方使用。系统中的单例例如:UIApplication、 NSUserDefaults 等,开发中我们可以用作用户管理。Objective-C 单例定义单例的定义方式有大概三种,gcd 和 互斥锁等这里例举gcd创建.h文件代码示例:@interface User : NSObject@property (nonatomic, ...原创 2018-03-01 17:25:13 · 2053 阅读 · 0 评论 -
iOS懒加载
懒加载的方式是视图在使用的时候才去生成对象,分配内存,并没有一开始就分配。一、Swfit定义基本格式就是 lazy var 变量名 : 类型 = { 闭包(可简写)}() //懒加载变量 lazy var ImagesContentView : UIImageView = { let view = UIImageView() return view ...原创 2018-03-19 14:34:58 · 307 阅读 · 0 评论 -
iOS闭包
iOS闭包简述闭包是很多语言都具有的语言特性,其主要的功能是作为回传作用。在iOS中主要使用闭包传递值。做一些类似异步执行代码的操作。Objective-C中的闭包1.声明闭包闭包的声明和赋值只是保存和传递一段代码,必须调用才能执行内部代码闭包变量的声明格式返回值类型(^闭包名字)(参数列表)void (^blockName) (int index, NSString *style);使用type...原创 2018-04-13 15:54:10 · 442 阅读 · 0 评论 -
AddChildViewCtroller
AddChildViewCtroller切换 View。原创 2016-10-07 00:21:59 · 1089 阅读 · 1 评论 -
iOS 模型转换
为了将数据对象话,通常需要将网络请求的JSON数据或者字典转换为模型。json数据一般有两种类型,第一种json字符串,需要解析出来,第二种json对象如:字典、数组 补充,网络传输一般使用的是jsonDate数据一、不使用第三方库转换1.字典转模型(定义模型类)a.普通属性对应转换: 模型类.objectWithKeyValues(dic) as? 模型类注意:字典中包含原创 2017-12-14 11:59:07 · 2126 阅读 · 0 评论 -
iOS的类方法和实例方法区别与使用
1.什么是类方法?在OC类定义方法时以 + 开头的方法,又称为静态方法。如:+ (viod)方法名{ }.作用:不用实例话就可以直接调用的方法,常用于一些common或者UtiKit等公共方法类中。 调用:[类名 方法名】限制: 不能使用自身属性2.什么是实例方法?在OC定义中以 - 开头的方法。如: - (viod)方法名{ }作用:必须先创建实例对象,实例对原创 2017-02-16 22:37:06 · 6389 阅读 · 0 评论 -
iOS一个类可以关联多个nib文件
iOS多个nib文件关联同一个类一.什么情况下使用多个nib文件关联同一个类最常用的情况就是,可以实现同一个类的多个界面的初始化,因为可以使用initWithNibName方法来调用不同的xib文件,实现同类不同的界面。二.几个初始化方式的用法和区别1.init和initWithFrane :使用代码实现视图的时候初始化2.initWithCoder和initWithNibNa原创 2017-02-18 00:36:44 · 1609 阅读 · 0 评论 -
NSString类详解
说到字符串NSString肯定每个开发IOS的都用过,它是Foundation框架下的一个核心处理字符串的类,掌握它非常有用。属性:最直接的属性有length,字符串长度2.字符串的获取//截取指定位置之后的字符串- (NSString *)substringFromIndex:(NSUInteger)from;//从0下标开始截取到指定位置的字符串- (NSString *转载 2017-05-05 16:52:35 · 9131 阅读 · 0 评论 -
iOS开发图片纯色填充(两种方式)和缩小图片
在开发中很多时候需要将图片纯色化,比如纯色化图标,可以使用以下代码片段://纯色化图片- (UIImage *)setImage:(UIImage *)image toColor:(UIColor *)color{ UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale); CGCont原创 2017-03-22 15:49:08 · 4604 阅读 · 0 评论 -
Swift4之NSAttributedString的使用
Swift4富文本使用NSAttributeString的优点1.主要用于控制控件的文本属性。2.有些文本属性并没有暴露出来。3.一条语句代码(属性字典)可以设置多个属性。关于NSMutableAttributedString,可以用来设置分段文本属性,比如一段文本有10个字,可以前5个字设置为一个属性样式,后5个字又设置为其他的样式swift3使用NSAtrributedStringlet at...原创 2017-07-31 21:26:58 · 14431 阅读 · 0 评论