背景分类Category概念Category源码分类格式实际代码如下代码实现如下实际使用效果类扩展Class Extension类扩展格式作用类别与类扩展的区别Demo地址最后总结 背景:在大型项目,企业级开发中多人同时维护同一个类,此时程序员A因为某项需求只想给当前类currentClass添加一个方法newMethod,那该怎么办呢?  最简单粗暴的方式是把newMethod添加到curre            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-29 11:22:26
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            基本概念(1)分类(Category):也叫做类别,是对原有类的一个扩充,只能添加方法,不能添加实例变量,分类的一般形式为类名+分类名,生成.h和.m文件#import "Father.h"
@interface Father (Category)
- (void)eat;
- (void)run;
@end(2)类扩展(Extension):可以认为是一个私有的匿名的类别,可以添加属性、实            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-19 16:14:18
                            
                                121阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              本文主要是详解iOS类别(Category)与扩展(Extension,匿名类别),请登陆疯狂软件教育官网。Category在iOS开发中使用非常频繁。尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性。  [objc] view plaincopy在CODE上查看代码片派生到我的代码片#import
  @int            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-28 11:52:08
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、分类的概念分类是为了扩展系统类的方法而产生的一种方式,其作用就是在不修改原有类的基础上,为一个类扩展方法,最主要的是可以给系统类扩展我们自己定义的方法。如何创建一个分类?↓↓(1)Cmd+N,iOS-->Objective-C File,Next;
(2)File Type选择category,class选择需要的类,分类名,Next。比如我们为Person创建了一个Student的分类            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-21 20:25:18
                            
                                53阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            分类(Category)分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法。此外,分类能够保证你的实现类和其他的文件区分开。1 #import “UIViewController.h”
2 @interface UIViewController(CustomView)
3 -(void)extMethod;
4 @end 使用分类为类添加方法(Add Methods            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-14 09:12:56
                            
                                85阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # iOS 分类和扩展指南
作为一个刚入行的开发者,了解如何在iOS中使用分类和扩展是非常重要的。分类(Category)和扩展(Extension)是Objective-C和Swift中用于扩展现有类功能的重要工具。本文将带你一步一步了解这两个概念,并提供代码示例和可视化图表帮助你更好地理解。
## 整体流程
在学习分类和扩展之前,让我们先明确实现的步骤。下面是一个简要的步骤表格:
|            
                
         
            
            
            
            分类、扩展和关联对象一、分类与扩展的区别1、`category`类别(分类)2、`extension`(类扩展)二、关联对象的实现1.关联对象的实现步骤:2.关联对象分析:三、关联对象-设值流程1.四个核心对象:2.`objc_setAssociatedObject`解析:内存策略:`_object_set_associative_reference`源码如下:3.`AssociationsMa            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-23 10:07:45
                            
                                101阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、分类分类(Category)是OC中的特有语法,它是表示一个指向分类的结构体的指针。原则上它只能增加方法,不能增加成员(实例)变量。不清楚怎么创建分类的先看下怎么创建分类,很简单。作用:作用:可以在不修改原来类的基础上,为一个类扩展方法。最主要的用法:给系统自带的类扩展方法。Category源码:Category
Category 是表示一个指向分类的结构体的指针,其定义如下:
typedef            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-13 08:34:30
                            
                                105阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            7. Category的实现原理Category编译之后的底层结构是struct Category_t,里面存储着分类的属性,实例方法,类方法,协议信息在程序运行的时候,runtime会将Category的数据,合并到类信息中,注意,在合并的过程中,分类的方法会被方法列表的数组前面位置,最后编译的分类,放在方法列表数组的第一位,这将会导致同样的方法,如果在分类和类中都实现,分类方法的优先级高Cat            
                
         
            
            
            
            在iOS中,有一种机制可以使用户在没有远吗的情况下扩展类的功能,但不是通过继承,这就是类别。iOS中没有类似C++中可以定义私有方法和私有变量的关键字,要定义私有方法和私有变量,可以用类扩展来实现。类别类别在不需要继承的情况下可以扩展类的功能。但类别不能添加类的属性和私有变量。类别可以用来扩展Cocoa中类的方法,也可以用来扩展用户自己的类中的方法。当我们查看系统头文件的时候能发现类似@inter            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-03 09:06:08
                            
                                81阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             (注意:如果不进行方法扩展直接继承会出现,一个对象调用了一个不存在的方法的错误!)。类目的创建:创建(Object-c file  )文件    feil 就是类目名     选Category 类目可以为一个现有的类扩展新的方法,扩展的方法会成为原始类的一部分,通过类目扩展的方法子类也能继承下来。类目的定义和类的定义相似。在            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-23 22:51:54
                            
                                109阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            分类(Category) 
     
      
     
    分类能够做到的事情主要是: 
   即使在你不知道一个类的源码情况下,向这个类添加扩展的方法。 
     
      
     
    此外,分类能够保证你的实现类和其他的文件区分开。 
     
      
          1 #import            
                
         
            
            
            
                   在iOS中,有一种机制可以使用户在没有远吗的情况下扩展类的功能,但不是通过继承,这就是类别。iOS中没有类似C++中可以定义私有方法和私有变量的关键字,要定义私有方法和私有变量,可以用类扩展来实现。  类别        类别在不需要继承的情况下可以扩展类的功能。但类别不能添加类的属性            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-17 19:21:56
                            
                                47阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            关于Category 的用法以及底层原理的问题,iOS Category的本质(一)这篇文章已经讲的很清楚了,今天主要讲讲Extension的用法以及和Category的区别。类扩展就像匿名的分类一样,除了一样不同的是,类扩展声明必须在@implementation在实现。新建一个Cat类,代码如下:#import "Cat.h"
@interface Cat ()
/*** 名字 ****/            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-28 07:14:37
                            
                                35阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # iOS 扩展分类开发指南
iOS 扩展(Extensions)允许你为自己的应用提供额外的功能,让用户在不打开主应用的情况下与内容进行交互。扩展可以用来创建小部件、分享功能、通知等。本文将详细介绍如何实现一个简单的 iOS 扩展分类,并提供每一步的代码示例。我们将分为以下几个步骤:
| 步骤编号 | 步骤               | 描述            
                
         
            
            
            
            # iOS 分类与扩展详解
在 iOS 开发中,我们常常需要对已有类的功能进行扩展,以满足新的需求。分类(Category)和扩展(Extension)是 Objective-C 和 Swift 提供的两种强大功能。本文将对这两种功能进行详细讲解,并通过代码示例帮助你更好地理解。
## 什么是分类(Category)
分类是 Objective-C 中的一种机制,可以让我们为现有的类添加新的            
                
         
            
            
            
            对于编程开发来说,编码规范是不可或缺的一个环节。在iOS开发领域,苹果也有官方的编码规范文档:《Coding Guidelines for Cocoa》。尽管对官方的这些权威指南,每一个iOS开发人员都应当去遵守,但在不少视频教程、文章、示例代码中,依然经常可以看到违反编码规范基本原则的情况。本文将列出3个经常被忽略的规范原则,希望大家在日常的开发中能留意纠正。一、使用get开头的方法来返回数据对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-31 15:36:25
                            
                                39阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            iOS中分类(category)和类扩展(Extension)的区别一、分类的定义: 分类是OC中的特有语法,它是表示一个指向分类结构体的指针,它是为了扩展系统类的方法而产生的一种方式。二、分类的创建 1、首先创建一个项目,然后新建一个Object-C File文件 2、接着到了配置分类信息的界面:因为这里是创建分类,所以选择Categary,Class指的是需要扩展的系统类,file就填写分类的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-24 23:46:27
                            
                                386阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            面向对象(Object-Oriented Programming)的首字母缩写:OOP   1、类定义默认生成如下两个文件  Person.h                    Person.m    &n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-08 14:19:18
                            
                                49阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">创建类别和扩展</span>类别 类别是一种为现有的类添加新方法的方式。 利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-10 06:20:23
                            
                                25阅读
                            
                                                                             
                 
                
                                
                    