个人理财 类型的Swift属性 - 虚拟属性

类型的Swift属性 - 虚拟属性

视频: Introduction to iOS, by Rhed Shi 2024

视频: Introduction to iOS, by Rhed Shi 2024
Anonim

在Swift中,如果需要,通常在从Objective-C转换的代码中)。另外,getter不需要使用get关键字。 Swift属性可以是变量或常量;每个类型可以被存储或计算,如下所示:

  • 声明一个变量属性: 一个变量与关键字var一起引入:

    var _fetchedResultsController:NSFetchedResultsController? = nil
    
  • 声明一个常量属性: 引入一个常量(即不能被修改的属性)和关键字let。前面的声明可以改为声明一个常量,如下所示:

    <! - 1 - >
    let _fetchedResultsController:NSFetchedResultsController? = nil
    
  • 声明存储的属性: 下面列表中显示的_fetchedResultsController声明是 存储属性 的典型声明。存储的属性是作为类,枚举或结构实例的一部分存储的属性。

    // MARK: - 获取结果控制器var fetchedResultsController:NSFetchedResultsController {if _fetchedResultsController! = nil {return _fetchedResultsController!} let fetchRequest = NSFetchRequest()//根据需要编辑实体名称。让实体= NSEntityDescription。 entityForName(“Event”,inManagedObjectContext:self。managedObjectContext!)fetchRequest。 entity = entity //将批量大小设置为合适的数字。 fetchRequest。 fetchBatchSize = 20 //根据需要编辑排序关键字。让sortDescriptor = NSSortDescriptor(key:“timeStamp”,升序:false)让sortDescriptors = [sortDescriptor] fetchRequest。 sortDescriptors = [sortDescriptor] //编辑段名称关键路径和缓存名称(如果适用)。 //节名称键路径为零,表示“无节”。让aFetchedResultsController = NSFetchedResultsController(fetchRequest:fetchRequest,managedObjectContext:self。managedObjectContext!,sectionNameKeyPath:nil,cacheName:“Master”)aFetchedResultsController。委托=自_fetchedResultsController = aFetchedResultsController var错误:NSError? =如果! _fetchedResultsController! 。 performFetch(&错误){/ /替换这个实现与代码来处理/ /适当的错误。 // abort()导致应用程序生成一个//崩溃日志并终止。你不应该在运输应用中使用这个//函数,尽管//在开发过程中可能是有用的。 println(“未解决的错误(错误),(错误。用户信息)”)abort()}返回_fetchedResultsController!} var _fetchedResultsController:NSFetchedResultsController?= nilBy默认情况下,传递给setter的变量名为newValue,

    ,Swift使用适当的类型。

    这个例子使用一个Objective-C模式作为支持变量:Swift存储的属性不需要以特殊字符(如下划线)开头;然而,它们确实需要被初始化,并在使用之前给出一个类型(可能是从初始化中推断出来的)。

    var _fetchedResultsController:NSFetchedResultsController? = nil
    
  • 用getter和setter声明一个计算属性: 这一点值得一点澄清。清单显示了一个Swift属性的基本getter和setter。你可以看到myVar有一个myInt的后备变量。 get和set关键字标识getter和setter。

    var myInt:Int = 0 var myVar:Int {get {return myInt} set {myInt = newValue}} myVar = 20
    

    这是您创建 计算属性 的方式。

    <! - 3 - >

除了下图所示的获取者和设置者外,还可以使用下一个列表中显示的观察者。这个代码在DetailViewController中。 Locatapp的快速文件(来自主从应用程序模板)。

var detailItem:AnyObject? {didSet {//更新视图。自。 configureView()}}在这个方法中设置一个断点,并在iOS模拟器中运行应用程序。该按钮导致该方法被调用。

这是调用视图更新程序的好地方(这正是模板中所做的)。有两个观察者可以使用:

  • didSet:在事实之后调用。

  • willSet:在设置发生之前调用。

类型的Swift属性 - 虚拟属性

编辑的选择

特权的基础知识在Oracle 12c - 虚拟机

特权的基础知识在Oracle 12c - 虚拟机

用户可以在Oracle 12c数据库中完成。您可能希望允许用户能够登录,但是您可能需要限制用户是否可以执行以下任一任务:访问某些数据开始...

Oracle 12c恢复管理器(RMAN)目录 - 傻瓜

Oracle 12c恢复管理器(RMAN)目录 - 傻瓜

的基础知识Oracle 12c恢复管理器(RMAN)环境,请考虑恢复目录。恢复目录是所有RMAN配置参数,备份操作和元数据的存储库。该目录可以无限期地存储备份信息。如何在Oracle 12c中选择目录模式RMAN提供了两种用于存储备份数据的选项:NOCATALOG ...

如何验证,查看和关闭Oracle 12c审计 - 傻瓜

如何验证,查看和关闭Oracle 12c审计 - 傻瓜

打开数据库中的审计记录,跟踪您制定的审计,以便您了解所做的事情。幸运的是,Oracle 12c在数据库中提供了一些视图来帮助您跟踪自己的操作:要验证您为审计配置的系统特权,请使用视图AUDIT_UNIFIED_POLICIES。要查看...

编辑的选择

Drupal友好的网页寄存公司 - 傻瓜

Drupal友好的网页寄存公司 - 傻瓜

网页寄存公司为您提供访问Web服务器,您可以在其中安装Drupal并使您的网站在Web上可见。一些公司为您安装Drupal或为您提供一键安装,为您节省了一些工作量。如果您决定自己跳过Drupal的安装,请考虑通过以下方式之一获取帐户...

Drupal花园功能 - 傻瓜

Drupal花园功能 - 傻瓜

让您有机会查看和使用所有Drupal花园功能,可以创建一个新的站点,然后选择自定义选项而不是其中一个已安装的模板:确保已经登录,然后单击我的站点链接。这样做打开了Drupal花园站点经理。点击创建...

Drupal园林主题生成器 - 傻瓜

Drupal园林主题生成器 - 傻瓜

Drupal花园设置完成后,有一些乐趣和玩你的网站上的主题。使用Drupal Gardens Theme Builder控制网站的外观是与安装Drupal自身副本不同的主要方式。但是你不会错过太多...

编辑的选择

更改MYOB中的文本和日期 - 虚拟人物

更改MYOB中的文本和日期 - 虚拟人物

MYOB为您提供了许多快捷方式以帮助简化任务。例如,您可以像在任何文字处理器中那样在MYOB中复制和粘贴文本。以下是快捷方式:按键组合快捷键结果Ctrl-A选择所有高亮显示的文本Ctrl-C复制文本Ctrl-V粘贴文本Ctrl-X删除或剪切文本Ctrl-Z取消最后一位...

在Salesforce中创建视图。当您单击Salesforce中的某个选项卡以访问特定对象(例如“帐户”,“联系人”或“个案”)时,您可以在对象主页上找到自己的服务云 - 虚拟

在Salesforce中创建视图。当您单击Salesforce中的某个选项卡以访问特定对象(例如“帐户”,“联系人”或“个案”)时,您可以在对象主页上找到自己的服务云 - 虚拟

主页,如果你选择案例,如图所示)。案例主页。当您点击Salesforce中的一个选项卡以访问特定的对象(例如,帐户,联系人或个案)时,您可以看到一些较大的,勾勒出的最近案例,报告和矩形的矩形。