Objective-C中在初始化方法中传递参数是惯用法,大致的类型使用方式为:

MyClass* obj = [[MyClass alloc] initWithXXX] ;

而默认的初始化只有一个无参的init函数,因此这些initWithXXX函数必须我们手动完成。

看下面的例子 :

// 类View

@interface View : NSObject

// 覆写init函数

-(id) init ;

// 绘制函数

-(void) draw ;

-(id) initWithWidth : (int) w andHeight:(int) h ;

@property (nonatomic) int width, height ;

@end

// impl

@implementation View

// 覆写init

-(id) init

{

return [self initWithWidth:0 andHeight:0] ;

}

// 绘制view

-(void) draw

{

NSLog(@"draw in view, width = %i, height = %i.", width, height) ;

}

// 初始化, 并且设置初始值

-(id) initWithWidth : (int) w andHeight:(int) h

{

self = [super init] ;

if ( self ) {

width = w ;

height = h ;

}

return self ;

}

@synthesize width, height ;

@end

在View类中,我们添加了initWithWidth : (int)

w andHeight:(int) h函数, 可以通过该函数初始化对象、传递宽度和高度,并且覆写了init函数,让其调用i

initWithWidth : (int) w andHeight:(int) h函数。在initWithWidth : (int) w andHeight:(int) h函数中调用init函数初始化对象,然后设置宽度和高度值。

使用如下 :

View* myViw = [[View alloc] initWithWidth:100 andHeight:30] ;

linux init 参数,Objective-C中实现覆写init函数以及在初始化时添加参数相关推荐

  1. 遮掩java_关于java中的覆写、重载、隐藏、遮掩、遮蔽

    最近在重新学习java,发现了以前未发现的几个概念,从网上搜索了一些资料,现在整理下.对于我来说,以前只是知道java中的覆写 重载和隐藏,这次却发现还有遮掩和遮蔽这两个概念.下面是整理的一篇文章. ...

  2. 可覆写的函数与创建节点

    以下所描述的这些可覆写的函数,能够应用于节点: GDScript   func _enter_tree():# When the node enters the _Scene Tree_, it be ...

  3. 第8章 Drupal 主题系统( Drupal theme)(4) 高级特性--1,覆写主题函数

    Drupal主题高级特性  译者:老葛 在前面的部分,你学到了Drupal使用的各种不同模板文件,当Drupal要将你的主题合并到一起时就会查找这些模板.你学到了如何创建页面模板文件,如何创建特定节点 ...

  4. Taro框架中 Image 和 Video 组件预览图片/视频时添加明显的关闭按钮以关闭全屏预览

    需求 Taro框架中 Image 和 Video 组件预览图片/视频时 添加明显的关闭按钮 以关闭全屏观看,避免用户直接操作返回后导致页面空白(原有消息记录消失 - 重新进入项目首页) [补充] 全屏 ...

  5. java中有关覆写的总结

    方法的覆写是发生继承的关系当中的,子类覆写父类的相关方法. 子类定义了了与父类同名的方法,成为覆写.在方法的覆写的时候要注意访问权限的问题,被覆写的方法不能拥有比父类更为严格的权限问题,内覆写的方法不 ...

  6. 如何在matlab sfunction 函数中调用自己写的函数?

    自己编写了一个s函数,有几个参数引用了自己写的几个函数,在脚本中可以正确运行,但在写成s函数,进行 simulink 仿真的时候,已知提示"too many input auguments& ...

  7. hive(3)——在hive中使用自己写的函数(python实现)

    如果我们想在hive中添加自己写的函数,可用如下方法: 前提:已经开启hdfs,yarn服务,并且关闭safe模式,打开mysql ps:udf是mapper类型的,进来一个数据,出去一个数据 (1) ...

  8. 烧写linux系统到开发板中,Mini2440烧写Linux系统

    按照国嵌课程在Linux系统下使用dnw软件烧写系统失败,开机白屏. 烧写步骤: 1.保持S2开关拨至nor flash开关处,连接串口线打开串口工具以便观察运行情况,打开电源开关. 2.使用jlin ...

  9. 【linux C】C语言中常用的几个函数的总结【二】

    3.fgets 虽然用 gets() 时有空格也可以直接输入,但是 gets() 有一个非常大的缺陷,即它不检查预留存储区是否能够容纳实际输入的数据,换句话说,如果输入的字符数目大于数组的长度,get ...

最新文章

  1. resolveType - when is date type for DateFormat used when initialization
  2. python 商城_python 开源商城安装
  3. hadoop eclipse插件
  4. ssh 两个mysql数据库_SSH下,关于多数据库的两个问题
  5. 阿里粗排模型-cold
  6. 更新linux yum源,CentOS 更新yum源
  7. 很努力了,为什么我还在原地踏步?
  8. 网页端、移动端导航设计模式全解
  9. 如何利用路由器连接wifi并将wifi网络分发出去
  10. ios 全屏返回手势
  11. 前端小白系列之——导言
  12. 算法题_位运算_9_出现一次的数字和出现k次的数字
  13. ARM、X86/Atom、MIPS、PowerPC四大CPU体系架构
  14. 跨境电商亚马逊之ERP系统开发的初衷产生的意义
  15. JAVA项目中实现邮箱验证的方法
  16. Symfony2 学习笔记之插件格式
  17. protocbuf php,php-protocbuf插件安装
  18. 安卓支持的音频格式及各格式大小压缩比
  19. 实现高并发秒杀的七种方式
  20. 物联网卡怎么查流量,联通物联网卡查询流量

热门文章

  1. js学习小计6-慎用return false;
  2. C#_解决在控制台中输入Ctrl+Z的问题
  3. asp.net 去除字符串右侧的最后一个字符
  4. 利用 PicGo 实现 MarkDown 自动上传图片
  5. Vue版todolist案例
  6. LeetCode--32. 最长有效括号(栈)
  7. LabelImg 影像標註工具使用教學,製作深度學習用的資料集
  8. 7-19 谁先倒 (15 分)
  9. 统计数字字符和空格 (15 分)
  10. python txt文件排序,使用Python在.txt文件中按數值(降序)排序高分列表