iview-admin 编译报错 entrypoint size limit 使用iview-admin 执行npm run build 指令时报错entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.解决办法:在vue.config...
Block 文章目录1.什么是Block2.block的格式3.函数指针4.block和typedef5.Block注意事项1.什么是BlockBlock是iOS中一种比较特殊的数据类型Block是苹果官方特别推荐使用的数据类型, 应用场景比较广泛动画多线程集合遍历网络请求回调Block的作用用来保存某一段代码, 可以在恰当的时间再取出来调用功能类似于函数和方法...
面向对象 - Category 文章目录1.什么是Category2.Category的格式3.分类的使用注意事项4.分类的编译的顺序1.什么是CategoryCategory有很多种翻译:分类 \ 类别 \ 类目 (一般叫分类)Category是OC特有的语法,其他语言没有的语法Category的作用可以在不修改原来类的基础上,为这个类扩充一些方法一个庞大的类可以分模块开发一个庞大的类可以由多个人...
OC内存管理ARC 1.什么是ARCAutomatic Reference Counting,自动引用计数,即ARC,在WWDC2011和iOS5引入的最大的变革和最激动人心的变化。ARC是新的LLVM 3.0编译器的一项特性,使用ARC,可以说一 举解决了广大iOS开发者所憎恨的手动内存管理的麻烦。手动管理内存, 可以简称MRC (Manual Reference Counting)在工程...
Java 异常处理 异常处理try { // 代码块}catch(Exception e) { // 当代码块中出现 Exception 时才会执行此处代码块 e.printStackTrace();} finally { // 不管代码块中是否出现异常,此处代码都会执行}throws 用于在声明方法的时候明确指出调用方法可能会出现的错误throw 主要用来触发异常t...
内存管理 - autorelease @autoreleasepool autorelease 基本概念autorelease是一种引用计数的内存管理方式,只要给对象发送一条autorelease消息,会将对象放到一个自动释放池中,当自动释放池被销毁时,会对池子里面的所有对象做一次release操作注意:autolease只是发送release消息,如果当时的引用计数(reference-counted)依然不为0,则该对象依然不会释放autorelea...
面向对象 - @class @class主要是避免#import导致死循环的问题由于@class仅仅是告诉编译器后面的名称是一个类,所以编译器并不知道这个类中有哪些属性和方法,所以在.m中使用这个类时需要import这个类,才能使用@class仅仅是告诉编译器,@class后面的名称是一个类,不会做任何的拷贝具体使用:在.h文件中使用@class引用一个类在.m文件中使用#import包含这个类的.h文件有一...
面向对象 - SEL类型 文章目录SEL类型概述检查对象/类中是否实现了某个方法配合对象/类来调用某个SEL方法配合对象将SEL类型作为方法的形参SEL类型概述SEL类型代表着方法的签名,在类对象的方法列表中存储着该签名与方法代码的对应关系每个类的方法列表都存储在类对象中每个方法都有一个与之对应的SEL类型的对象根据一个SEL对象就可以找到方法的地址,进而调用方法检查对象/类中是否实现了某个方法#import...
面向对象 - 类工厂方法 用于快速创建对象的类方法,称为类工厂方法,类工厂方法主要用于给对象分配存储空间和初始化存储空间自定义类工厂方法是苹果的规范,一般情况下,我们会给一个类提供一个自定义构造方法和自定义类工厂方法用于创建一个类一定是类方法方法名称以类名称开头,首字母小写一定有返回值,返回值是 id/instancetype类工厂方法的注意点只要自定义类工厂方法,在类工厂方法中创建对象一定不要使用类名创建...
面向对象 - 自定义构造方法 当需要在实例化类的同时进行参数传递时,就可以使用自定义构造方法解决自定义构造方法就是自定义一个init方法自定义构造方法一定是对象方法返回值一定是 id/instancetype方法名称一定以init开头,init后面的第一个字母必须大写#import <Foundation/Foundation.h>@interface Person : NSObject@...
面向对象 - 构造方法 构造方法会在类被实例化的时候执行,OC中的构造方法名为init重写构造方法 init重写init方法必须按照苹果规定的格式重写,如果不按照规定会引发一些未知错误注意点:1.必须先初始化父类,再初始化子类2.必须判断父类是否初始化成功,只有父类初始化成功才能继续初始化子类3.返回当前对象的地址#import <Foundation/Foundation.h>@i...
抽象类与接口 文章目录抽象类抽象方法定义抽象类和抽象方法接口接口的定义与实现抽象类在Java中,抽象类不能产生对象实例。定义抽象类时,需要使用abstract关键字,定义抽象类的语法如下:[权限修饰符] abstract class 类名 { 类体}抽象方法使用abstract关键字定义的类被称为抽象类,使用abstract关键字定义的方法被称为抽象方法,定义抽象方法的语法如下:[权限修...
面向对象 - @property与@synthesize 在xcode4之前,使用@property和@synthesize简化getter/setter方法的声明和实现在xcode4之后,@property得到增强,使用@property声明之后,会自动进行实现@property@property 是一个编译器指令简化setter和getter的声明,可以使用@property来代替getter/setter方法的声明@synthes...
面向对象 - OC中的私有变量和私有方法 私有变量实例变量(成员变量)既可以在@interface中定义,也可以在@implementation中定义在@implementation中的成员变量,默认就是私有的成员变量,并且和利用@private修饰的不太一样,在@implementation中定义的成员变量在其它类中无法查看,也无法访问在@implementation中定义的私有变量只能在本类中访问#import &lt;Fo...
面向对象 - description 只要利用%@打印对象,就会调用description,可以通过在类中重写description方法,进行格式化输出如果打印的是对象,就会调用对象方法description,减号开头的如果打印的是类,就会调用类方法description,加号开头的注意:在description方法中尽量不要使用self来获取成员变量,容易造成死循环#import &lt;Foundation/Fo...
面向对象 - 成员变量修饰符 默认情况下所有的实例变量都是@protected作用域:从出现的位置开始,直到下一个修饰符出现@public可以在其它类中访问被@public修饰的成员变量可以在本类中访问被@public修饰的成员变量可以在子类中访问被@public修饰的成员变量@private不可以在其它类中访问被@private修饰的成员变量可以在本类中访问被@private修饰的成员变量不可...
面向对象 - 多态 多态就是事物的多种表现形态在编译的时候编译器只会检查当前类型对应的类中有没有需要调用的方法,在运行时,系统会自动判断对象的真实类型注意点:在多态中,如果想调用子类特有的方法必须强制类型转换为子类才能调用例子:定义一个动物类Animal,然后定义一个猫类Cat,狗类Dog分别继承动物类Animal分别实例化Cat类和Dog类,对象使用Animal定义main.h#impor...
面向对象 - 继承 继承基本概念可以利用继承来解决当前重复代码太多的问题,只要A类继承了B类,那么A类就拥有了B类的所有属性和方法(对象方法和类方法)如果子类中有和父类同名的方法,我们称之为方法重写注意:继承中的方法调用顺序,如果自己有就调用自己的,如果自己没有就调用父类的方法的调用顺序,先自己再父类,如果父类中没有,就去父类的父类中找,一直向上找,直到找到NSObject类都没有找到,则会报错在继承中...
面向对象 - self关键字 self 只能在类中使用,离开类之后没有任何意义如果self在对象方法中,那么self就代表调用当前对象方法的那个对象如果self在类方法中,那么self就代表调用当前类方法的那个类我们只需要关注self在哪一个方法中,如果在类方法那么就代表当前类,如果在对象方法那么就代表当前调用该方法的对象#import &amp;lt;Foundation/Foundation.h&amp;gt;@inte...
面向对象 - getter setter setter方法作用:设置成员变量的值写法:setter方法一定是对象方法一定没有返回值一定以set开头,并且set后面跟上需要设置的成员变量的名称去掉下划线,并且首字母大写一定有参数,参数类型一定和需要设置的成员变量的类型一致,并且参数的名称就是成员变量的名称去掉下划线好处:可以监听属性的变化getter方法作用:获取成员变量的值写法:getter方法一定是对象方法...