• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > swift新手请教,我在swift中调用selfinit,报错了,怎么回事?

swift新手请教,我在swift中调用selfinit,报错了,怎么回事?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了新手请教 华为手机,请教新手炒股入门知识,taylor swift,swift,swift code是什么意思等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: swift新手请教,我在swift中调用selfinit,报错了,怎么回事?
描述:

在方法中药调用 self = self.init,报错信息是:Cannot assign to value:'self'is immutable
代码如下:

class Node:NSObject{


var parentID:Int?//父节点的id,如果为-1表示该节点为根节点

var nodeID:Int?//本节点的id

var name:NSString?//本节点的名称

var depth:Int?//本节点的深度

var expand:Bool?//该节点是否处于展开状态

//快速实例化该对象模型

func initWithParentID(parentID:Int,nodeID:Int,name:NSString,depth:Int,expand:Bool) -> Self{
    
    self = self.init
    
    return self
    
}

}


解决方案1:

根本原因:
swift的初始化链条和OC不同,OC统一继承自NSObject,所以OC中super.init是初始化父类。
但是swift是先初始化自己,然后在沿着继承链条向上,初始化继承自父类的属性,到达基类后,然后在向下完成初始化操作。

解决方案2:

报错不是说的挺明白的吗?Self是不可修改的 - -
先调用父类的初始化函数

  init(parentID: Int, nodeID: Int, name: NSString, depth: Int, expand:Bool) {
    super.init()
    self.parentID = parentID
    self.nodeID = nodeID
    self.name = name
    self.depth = depth
    self.expand = expand
  }


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • swift纯新手,请教各位swift中使用self=superinit遇到错误
  • swift新手请教,我在swift中调用selfinit,报错了,怎么回事?

相关文章

  • 2017-06-05 swift环形进度条不显示,为啥啊
  • 2017-06-05 iOS蓝牙高手请进--GATT需要通过MFI吗?
  • 2018-01-28iOS 设备CPU的架构
  • 2017-06-05 iOSQuotaExceededErrorDOMException22
  • 2017-06-05 iOSframework热更新能通过审核吗
  • 2017-06-05 iOS开发,如何通过HTTPPost发送这个符号"&"到服务器?
  • 2017-06-05 自定义tableviewcell被点击之后显示的内容消失
  • 2017-06-05 关于感情问题关于swift30的类目问题
  • 2017-06-05 xcode报错:Nosuchfileordirectory
  • 2017-06-05 苹果要求链接走HTTPS,是要求APP内打开的网页也必须是HTTPS吗?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ios是什么意思iOS中"持有"是什么意思?
    • 关于NSTimer的简单应用
    • 如何保存网页内容app群推内容如何保存
    • afnetworking返回json以后怎么解析?
    • 禁止get方法调用在另一个类调用方法无效?
    • mac上从u盘启动的虚拟机
    • 正在跳转到首页app在跳转页面的时候崩溃了
    • iOS开发,如何跳转到系统设置页面。需适配iOS7-10
    • 请问,七牛视频直播拉流如何获取获取一下属性,或是打印流信息?
    • andriodAndriod不支持websocket么

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有