zoukankan      html  css  js  c++  java
  • const static 在oc中的用法

    const表示不能修改  static表示作用域限定在本文件中

    // EOCAnimatedView.h
    #import <UIKit/UIKit.h>

    @interface EOCAnimatedView : UIView
    - (void)animate;
    @end

    // EOCAnimatedView.m
    #import "EOCAnimatedView.h"

    static const NSTimeInterval kAnimationDuration = 0.3;

    @implementation EOCAnimatedView
    - (void)animate {
        [UIView animateWithDuration:kAnimationDuration
                         animations:^(){
                             // Perform animations
                         }];
    }
    @end

    It is important that the variable is declared as both static and const. The const qualifier means that the compiler will throw an error if you try to alter the value. In this scenario, that’s exactly what is required. The value shouldn’t be allowed to change. The staticqualifier means that the variable is local to the translation unit in which it is defined. A translation unit is the input the compiler receives to generate one object file. In the case of Objective-C, this usually means that there is one translation unit per class: every implementation (.m) file. So in the preceding example, kAnimationDuration will be declared locally to the object file generated from EOCAnimatedView.m. If the variable were not declared static, the compiler would create an external symbol for it. If another translation unit also declared a variable with the same name, the linker would throw an error with a message similar to this:

    duplicate symbol _kAnimationDuration in:
        EOCAnimatedView.o
        EOCOtherView.o

  • 相关阅读:
    MIT python 第二课第四十分钟 取最小值的例子
    Python IDLE快捷键 汇总
    5、Hibernate的延迟加载
    4、Hibernate三种状态的讲解
    3、Hibernate实现简单的CRUD操作
    1、hibernate的简单配置
    2、hibernate的 save 保存失败的解决方法
    JavaWeb开发中关于分页的实现
    常见的网页布局二
    常见的网页布局一
  • 原文地址:https://www.cnblogs.com/NSNULL/p/4489641.html
Copyright © 2011-2022 走看看