1218.3——init自定义

相当于构造方法,有的时候初始化的时候有一些默认值,还有就是页面加载数据的时机问题,防止加载了页面再填数据

声明:

  -(instancetype)initWithName:(NSString *)aName andage:(int)aAge;   //自定义的初始化方法必须以init开头

实现:

  -(instancetype)initWithName:(NSString *)aName andage:(int)aAge{

  if (self =[super init]) {       //调用父类方法init 并且判断是否初始化成功

  self.name = aName;

  self.age = aAge;

  }

  return self;

  }

调用:

  Person *hrr =[[Person alloc]initWithName:@"hrr" andage:20];

ps:

自定义的时候可以有三种返回类型  意义相同

  -(Person *)initWithName

  -(id)initWithName     //id相当于void

  -(instancetype)initWithName      //instancetype对象类型

时间: 2024-10-06 22:26:54

1218.3——init自定义的相关文章

2015.12.18 property定义属性变量 init初始化自定义 class的部分运用

property 在之前的学习和运用当中,由于成员变量默认都是私有的(private),所以定义一个变量的时候都会手写出一段『getter』和『setter』的代码.但是由于这样写太麻烦了,所以引入了property(声明)和synthesize(实现).而到了后来,synthesize也被省略掉了. eg:  @property (nonatomic, strong)NSString *name; 这里,『property』帮我们完成了三个任务:1.声明了一个属性变量 2.声明了setter.

Android自定义View(四)----一步一步教你实现QQ健康界面

最近一直在学习自定义View相关的知识,今天给大家带来的是QQ健康界面的实现.先看效果图: 可以设置数字颜色,字体颜色,运动步数,运动排名,运动平均步数,虚线下方的蓝色指示条的长度会随着平均步数改变而进行变化.整体效果还是和QQ运动健康界面很像的. 自定义View四部曲,一起来看看怎么实现的. 1.自定义view的属性: <?xml version="1.0" encoding="utf-8"?> <resources> //自定义属性名,定

切换系统自带键盘为自定义键盘

if (self.textView.inputView == nil) { // 切换为自定义的表情键盘 HWEmotionKeyboard *emotionKeyboard = [[HWEmotionKeyboard alloc] init];// 自定义的键盘 emotionKeyboard.width = self.view.width; emotionKeyboard.height = 216; self.textView.inputView = emotionKeyboard; } e

IOS第11天(2:UIPickerView自定义国旗选择)

国旗选择 #import "HMViewController.h" #import "HMFlag.h" #import "HMFlagView.h" @interface HMViewController ()<UIPickerViewDataSource,UIPickerViewDelegate> @property(nonatomic,strong)NSArray *flags; @end @implementation HMV

WeChat-SmallProgram:自定义select下拉选项框组件

1):创建组件所需的文件 2):自定义组件 CSS 及 JS 组件的wxml: <view class='com-selectBox'> <view class='com-sContent' bindtap='selectToggle'> <view class='com-sTxt'>{{nowText}}</view> <image src='../../public/img/local/down.png' class='com-sImg' anim

二维码

生成二维码 前提:需要导入以下代码 1.在ViewController的.m文件中定义一个UIImageView属性, 存放二维码 @property (weak, nonatomic) IBOutlet UIImageView *imageView; 2.在viewDidLoad方法中写以下代码即可 self.imageView.image = [QRCodeGenerator qrImageForString:@"欢欢"imageSize:self.imageView.frame.

iOS多线程编程

1. 进程,线程, 任务 进程:一个程序在运行时,系统会为其分配一个进程,用以管理他的一些资源. 线程:进程内所包含的一个或多个执行单元称为线程,线程一般情况下不持有资源,但可以使用其所在进程的资源. 任务:进程或线程中要做的事情. 在引入线程的操作系统中,通常把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位. 线程比进程更小,对其调度的开销小,能够提高系统内多个任务的并发执行程度. 一个程序至少有一个进程,一个进程至少有一个线程.一个程序就是一个进程,而一个程序中的多个任

UIToolbar

- (void)viewDidLoad { [super viewDidLoad]; [self AddToolBars]; } -(void)AddToolBars{ UIToolbar *toolBarTop=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, 50)]; [toolBarTop setBarStyle:UIBarStyleDefault]; [

1.5 万能指针 id

一. id id是一种数据类型,并且是一种动态数据类型 数据类型的用途: 1. 定义变量 2. 作为函数的参数 3. 作为函数的返回值 默认情况下所有的数据类型都是静态数据类型 静态数据类型的特点: 在编译时就知道变量的类型,知道变量中有哪些属性和方法 在编译的时候就可以访问这些属性和方法 并且如果是通过静态数据类型定义变量,如果访问了不属于静态数据类型的属性和方法,那么编译器就会报错 应用场景:多态,可以减少代码量,避免调用了子类特有的方法需要强制类型转换 id obj1 = [[Person