ios initialize和init等方法
在程序运行过程中,创建多个类对象,只会调用一次initialize [ɪˈnɪʃəˌlaɪz] 。而创建几个类对象就会调用几次init;
创建一个类aa,分别重写 initialize和init方法
#import "aa.h"
@implementation aa
+ (void)initialize{
NSLog(@"%s",__func__);
}
- (instancetype)init{
self = [super init];
if (self) {
NSLog(@"%s",__func__);
}
return self;
}
@end
在viewcontrller里创建两个aa类的对象
#import "ViewController.h"
#import "aa.h" @interface ViewController ()
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
aa *a1 = [[aa alloc]init];
aa *a2 = [[aa alloc]init];
}
@end
打印结果是:

结论:在程序运行过程中,创建多个类对象,只会调用一次initialize。而创建几个类对象就会调用几次init;
创建一个类bb 继承自aa类
#import "aa.h" @interface bb : aa @end
在ViewController里创建两个bb类对象
#import "ViewController.h"
#import "bb.
@interface ViewController ()
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; bb *b1 = [[bb alloc]init];
bb *b2 = [[bb alloc]init];
}
@end
打印结果:

结论:如果是子类的话,创建几次实例,initialize和init就会被调用几次
ios initialize和init等方法的更多相关文章
- initialize和init以及load方法的区别与使用以及什么时候调用
initialize不是init initialize在这个类第一次被调用的时候比如[[class alloc]init]会调用一次initialize方法,不管创建多少次这个类,都只会调用一次这个方 ...
- 【iOS】swift init构造器
这几天在使用 Swift 重写原来的一个运动社交应用 SportJoin. 为什么要重写呢? 首先因为实在找不到设计师给我作图; 其次, 我也闲不下来, 想找一些项目做, 所以只好将原来的代码重写了. ...
- OC--init,initialize,initWithCoder:,initWithFrame:各方法的区别和加载顺序
1.先把OC的类分清楚各有什么方法 普通类的方法 init initialize: 控制器类的方法 init initialize: initWithCoder: UI控件类的方法 init init ...
- OC initialize和init
Objective-C很有趣的一个地方是,它非常非常像C.实际上,它就是C语言加上一些其他扩展和一个运行时间(runtime). 有了这个在每个Objective-C程序中都会起作用的附加运行时间,给 ...
- initialize和init区别
Objective-C很有趣的一个地方是,它非常非常像C.实际上,它就是C语言加上一些其他扩展和一个运行时间(runtime). 有了这个在每个Objective-C程序中都会起作用的附加运行时间,给 ...
- C#/IOS/Android通用加密解密方法
原文:C#/IOS/Android通用加密解密方法 公司在做移动端ios/android,服务器提供接口使用的.net,用到加密解密这一块,也在网上找了一些方法,有些是.net加密了android解密 ...
- ObjC的initialize和init
Objective-C很有趣的一个地方是,它非常非常像C.实际上,它就是C语言加上一些其他扩展和一个运行时间(runtime). 有了这个在每个Objective-C程序中都会起作用的附加运行时间,给 ...
- iOS AFNetworking内存泄漏处理方法
iOS AFN内存泄漏处理方法 细心的你是否也发现AFN的内存泄漏的问题了呢. 在这里给大家提供一个解决AFN内存泄漏的方法. 单例解决AFN内存泄漏 + (AFHTTPSessionManager ...
- IOS修改webView背景透明以及IOS调用前台js的方法
工作上遇到IOS的webView中的H5页面需要透明以显示webView的背景颜色.用H5自身的透明度的css样式或者js控制背景颜色及透明度都打不到想要的效果,最后还是通过ios设置webView中 ...
随机推荐
- C 和指针 学习随便
---恢复内容开始--- 对NULL的解引用访问,有可能报错,有可能不会,取决于编译器 指针数组以一个NULL指针结束 ######################################## ...
- IIS与Apache同时使用80端口
如果我们在一台服务器即使用IIS作为WEB服务器,同时又想使用Apache作为WEB服务器,那么如何来公用80端口呢? 我们可以使用单IP地址来实现,但是在性能上有损失: 将apache设为使用80端 ...
- web测试一般分为那几个阶段,哪些阶段是可以用工具实现的,都有些什么工具,哪些阶段必须要人工手动来实现呢?
这是我在知乎上遇到的一个问题: web测试一般分为那几个阶段,哪些阶段是可以用工具实现的,都有些什么工具,哪些阶段必须要人工手动来实现呢? 首先这个提问本身就是有问题的, 没有哪个阶段是用工具实现的, ...
- 2016-08-16: copy-and-swap
#include <algorithm> // std::copy #include <cstddef> // std::size_t #include <stdio.h ...
- windows无提示关闭页面
今天碰到个问题,需要自动关闭网页,网上找了方法,一直在火狐测试,一直没反应,还以为写错了,后来发现用火狐需要进行设置(后文有提供方法),IE可正常使用... 下面提供部分代码: 需要自动关闭网页,可以 ...
- 用asp.net c# HttpWebRequest获取网页源代码
public string GetPage(string url) { HttpWebRequest request = null; HttpWebResponse response = null; ...
- java 动态编译
public class Main { public static void main(String[] args) { System.out.println("Hello World!&q ...
- Regularization on GBDT
之前一篇文章简单地讲了XGBoost的实现与普通GBDT实现的不同之处,本文尝试总结一下GBDT运用的正则化技巧. Early Stopping Early Stopping是机器学习迭代式训练模型中 ...
- (转)django上传文件
本文转自:http://www.cnblogs.com/linjiqin/p/3731751.html 另: 本文对原文做了适当修改 更为详细的介绍可以参考官方文档. emplate html(模板 ...
- redis info参数详解
redis 127.0.0.1:6381> info redis_version:2.4.16 # Redis 的版本redis ...