如何定义可以在应用程序中的任何位置访问的全局变量? [复制]

2023-12-11

可能的重复:
全局 int 变量目标 c

我想创建一个全局变量。 我想在任何地方访问这个变量。

Java 等效项:

static var score:int = 0;

例如,如果我在 Game 类中定义一个全局变量。 如何访问这个全局变量呢?

Game.score ?

如果您的应用程序中有多个视图,并且在这种情况下您希望每个视图都可以访问一个变量,那么您应该始终创建一个模型/数据类并在其中定义该变量。像这样的东西:

目标-C:

//DataClass.h      
@interface DataClass : NSObject {    

    NSString *str;
}

@property(nonatomic,retain)NSString *str;    
+(DataClass*)getInstance;    
@end  


//DataClass.m    
@implementation DataClass    
@synthesize str;

static DataClass *instance = nil;

+(DataClass *)getInstance
{    
    @synchronized(self)    
    {    
        if(instance==nil)    
        {    
            instance= [DataClass new];    
        }    
    }    
    return instance;    
}    

现在在您的视图控制器中,您需要将此方法调用为:

DataClass *obj=[DataClass getInstance];  
obj.str= @"I am Global variable";  

每个视图控制器都可以访问该变量。您只需创建 Data 类的一个实例。

Swift :

class DataClass {

    private var str: String!

    class var sharedManager: DataClass {
        struct Static {
            static let instance = DataClass()
        }
        return Static.instance
    }
}

Usage : DataClass.sharedManager.str

Using dispatch_once

class DataClass {

    private var str: String!

    class var sharedInstance: DataClass {
        struct Static {
            static var onceToken: dispatch_once_t = 0
            static var instance: DataClass? = nil
        }
        dispatch_once(&Static.onceToken) {
            Static.instance = DataClass()
        }
        return Static.instance!
    }
}  

Usage : DataClass.sharedManager.str

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何定义可以在应用程序中的任何位置访问的全局变量? [复制] 的相关文章

  • NSString – 静态还是内联?有性能提升吗?

    如果我写的话会有任何性能提升吗 NSString helloStringWithName NSString name static NSString formatString Hello return NSString stringWith
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 如何禁用 iPhone 邮件应用程序中的电话号码链接?

    我的公司正在发送数字电子邮件收据 但遇到了 iPhone Mail 检测数字数据并将其自动链接为电话号码的问题 我已经看到元标记应该可以解决 iPhone 上的 Mobil Safari 中的问题 但该技巧似乎不适用于 Mail 有谁知道如
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • UIPanGestureRecognizer 对坐标的限制

    我在主 UIView 中添加了一个子视图 称为panel 并且我向其中添加了gestureRecognizer 因为我希望它只能在Y轴上拖动并且只能在某些限制下 即160 300 超过300它不能拖动 我以这种方式实现了手势处理 IBAct
  • insertNewObjectForEntityForName:

    我使用 Xcode xcdatamodel 文件编辑器设置了一个实体 我创建了一个名为 Person 的实体 添加了一些属性 然后生成了一个 m 文件来表示它 一切都很好 现在 当我去编写一行代码时 例如 Person person Per
  • 加载新控制器时,iPhone 横向模式切换到纵向模式

    我的应用程序在横向模式下正确启动并且运行良好 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation if interf
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • 在 UIScrollview 上显示缩略图的最佳方法是什么(从服务器下载)

    我想在 UIScrollview 如照片应用程序 上显示许多图像 作为缩略图 所有图像将从服务器下载 据我所知 有几种选择 1 通过创建 UIImageviews 然后将它们添加为主滚动视图上的子视图 2 通过子类化一个UIView类 然后
  • 如何在 NSTextView 中使用 SPACE 而不是 TAB

    我只知道如何修改 NSTextView 中的制表符宽度 NSMutableParagraphStyle paragraphStyle self defaultParagraphStyle mutableCopy paragraphStyle
  • 如何检测用户是否第一次打开应用程序[重复]

    这个问题在这里已经有答案了 是否可以检测用户是否是第一次打开iOS应用程序 使用Objective C 我想在用户第一次打开应用程序时显示欢迎消息 但之后不再向他们显示 我正在寻找类似的东西 BOOL firstTime AppDelega
  • 有没有类似于 iOS 的 canOpenURL 来检查移动浏览器的 URL 方案? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone Safari 检查 JavaScript 是否支持 URL 方案 https stackoverflow com questions 627916 iphone safari check
  • 在 iOS 应用程序中拨打电话

    我有一些代码尝试在应用程序中进行调用 但它似乎不起作用 UIApplication myApp UIApplication sharedApplication NSString theCall NSString stringWithForm
  • 有什么方法可以询问方法的名称吗?

    我正在尝试调试我正在开发的 iPhone 应用程序 向各种源文件添加 50 条 NSLog 语句的想法让我感到很兴奋 我想做的是写一对陈述 比如 NSString methodName self methodName NSLog metho
  • iPhone X 将对象底部与安全区域对齐会破坏其他设备上的外观

    关于 iPhone X 自动布局怪癖的问题 我有两个按钮 以前这些按钮将与超级视图底部对齐 偏移量为 20 以免它们接触屏幕底部 此后我将链接更改为安全区域而不是超级视图 Here s the original setup Looks go
  • 无法将项目添加到 NSMutableArray ivar

    我的目标是将字符串添加到数组中 并在我调用的方法中执行此操作 在这个方法中 我在数组中得到一个空值 但不知道为什么 我在课程开始时有这样的内容 NSMutableArray listOfEvents 以及我在每个事件上调用的方法 void
  • Glib 在 iPhone 应用程序中的使用

    我想基于现有的开源 Objective C 框架开发一个 iPhone 应用程序 但是该框架广泛使用了 glib 库 我找不到一种方法来构建和包含 iPhone 应用程序的 glib 库 非越狱 有什么办法可以做到这一点 或者有没有推荐的方
  • 使用强光混合模式时突出显示伪影

    我正在 iPhone 应用程序中使用顶部图像的 HardLight 混合模式混合两个图像 它看起来像这样 UIGraphicsBeginImageContext size sourceImage drawInRect rectangle b
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • Java Swing:如何获取包括刚刚键入的字符在内的 TextArea 值?

    键入按键后获取 TextArea 值 包括该字符 的最佳方法是什么 如果我在事件侦听器中执行此操作 textarea getText 返回不带最终新字符的值 基本上我看到两种方法 使用 invokeLater 之类的方法推迟处理 我更喜欢没
  • 确定重叠范围 - R

    我有两个数据框 一份包含一个月内的购买情况 一份包含该月播放的广告 广告 要了解购买是否可以可靠地链接到广告 我想了解有多少购买日期是在广告后 4 天内发生的 我创建了一些 繁琐的 代码来执行此操作 基于广告数据库的每一行的扩展以覆盖相关的
  • 尝试比较递归算法和迭代算法

    我有两种算法可以解决这个问题 生成汉明距离 t 内的所有比特序列 现在我想从理论上比较它们 如果需要的话 我确实有时间测量 The 迭代算法其复杂度为 O n 选择 t n where n是位串的长度 t是所需的汉明距离 The 递归算法
  • CAGradientLayer 不自动调整大小

    我在 UIImageView 上添加了一个 CAGradientLayer 我已将 UIImageView 上的自动调整大小蒙版设置为跨边界灵活 灵活的高度 宽度等 但是 当 UIImageView 调整大小时 我添加在 imageView
  • Express.js 处理不匹配的路由

    各位 我开发了一个 Rest API 我希望当路由不存在时发送自定义消息 而不是express js 默认发送的 html 消息 据我搜索 我找不到办法做到这一点 我尝试这样做 app all function req res res st
  • 如何向新手解释 Python 中的属性

    谁能用简单的话解释一下Python语言中的属性是什么 例如我能说些什么 list append x 使用直观 简单的日常生活示例在列表末尾添加一个对象 我发现属性描述了一个对象的属性 例如我的头发的属性是它们是棕色的和短的 很好 但如果是的
  • 实现自定义 u-boot 命令

    我想添加自定义命令命令u boot可以是一个简单的 hello world 命令 搜索后我发现了这个链接Yocto u boot 自定义命令它说看的地方timer命令输入cmd misc c作为起点 我怎么带这个timer命令到我的 u b
  • 使用 javascript 和 glsl 进行凹凸贴图

    A class creating buffers for a textured box to render it with WebGL class RasterTextureBox Creates all WebGL buffers for
  • 如何在DataGridView中突出显示搜索阿拉伯文本?

    我想突出显示 DataGridView 中给定的搜索文本 但数据是阿拉伯语的 我尝试使用 CellPainting 事件来查找搜索文本的边界并绘制 FillRectangle 但我无法准确获取搜索文本的边界 我使用的代码如下 private
  • 如何向 Google 工作表的每一行添加“发送电子邮件”按钮?

    我有一个 google 工作表 其中包含 4 列输入 用于编写电子邮件 我想 快速 为每一行创建一个按钮 全部添加到 D 列中 该按钮将利用该信息发送电子邮件only从按钮所在的行开始 我该怎么做呢 如何快速向每一行添加多个外观相同的按钮
  • MassTransit Consumer从未收到消息

    我正在按照在 ASP NET Core 应用程序中使用 MassTransit 与 RabbitMQ 和 Autofac 的文档构建一个演示应用程序 我的程序代码 namespace MessageDemo public class Pro
  • Mac OS X 上的 boot2docker、docker、django

    我想在 Mac OS X 上的 docker 中运行 Django 应用程序 我已经使用以下命令安装了 dockerget started教程 我参考docker library中的Django文档来构建镜像 https github co
  • 如何使用 numpy 复制数组的一行?

    我想在 python 中复制数组的最后一行 并在 numpy 文档中找到了以下代码行 gt gt gt x np array 1 2 3 4 gt gt gt np repeat x 1 2 axis 0 在上面的代码中 np repeat
  • 糟糕,在使用 Paramiko 连接 SFTP 时未处理类型 3(“未实现”)

    我试图使下面的脚本工作 以便从远程服务器 服务器1 读取特定目录中的CSV文件列表 并将数据移植到另一台服务器的PostgreSQL数据库中 我已经创建了一个 rsa SSH 密钥并将其复制到远程服务器 现在我可以仅使用用户名连接服务器 我
  • Android 代码和资源混淆

    Google 推荐并打包在 ProGuard 中以进行代码混淆 然而 它附带的默认配置似乎很小 并且可以在一定程度上进行逆向工程 大多数寻求逆向工程的人并不是真正在寻找详细代码 而可能是提取逻辑 是否有任何指导方针可以更有效地配置 ProG
  • 通过 Excel VBA 修复 PowerPoint 幻灯片中的文本框(右侧)

    我使用以下代码将一个单元格的内容放在 PowerPoint 幻灯片上 Set Sh Pres Slides 1 Shapes AddLabel Orientation msoTextOrientationHorizontal Left 80
  • React.js 中的冒泡和捕获示例

    我正在寻找在 React js 中处理冒泡和捕获的示例 我发现一个使用 JavaScript 的 但我很难找到 React js 的等效项 我如何在 React js 中创建冒泡和捕获的示例 React 支持冒泡和捕获 其方式与 DOM 规
  • 如何用canvas画一条可以向左移动的曲线?

    我正在编写一个程序来绘制sine curve与画布 HTML
  • JSTL c:if 无法识别 ${} 内的字符串并导致 EL 语法错误

    为什么此代码的 POST 和 提交 部分在我的 IDE 中以不同的颜色突出显示 此外 这里的语法荧光笔不会以相同的颜色突出显示它们
  • 如何定义可以在应用程序中的任何位置访问的全局变量? [复制]

    这个问题在这里已经有答案了 可能的重复 全局 int 变量目标 c 我想创建一个全局变量 我想在任何地方访问这个变量 Java 等效项 static var score int 0 例如 如果我在 Game 类中定义一个全局变量 如何访问这