如何让静态变量在inspector里面显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让静态变量在inspector里面显示相关的知识,希望对你有一定的参考价值。

参考技术A Inspector中的变量的视图形式一般是固定的,int、float就是文本框。要实现你这个功能,要写UnityEditor插件(引入UnityEditor的namespace),滑动条是EditorGUILayout.Slider//EditorscriptthatletsyouscaletheselectedGameObjectbetween1and100//缩放选择的游戏物体,在1-100之间classEditorGUILayoutSliderextendsEditorWindowvarscale:float=0.0;@MenuItem("Examples/EditorGUILayoutSliderusage")staticfunctionInit()varwindow=GetWindow(EditorGUILayoutSlider);window.Show();functionOnGUI()scale=EditorGUILayout.Slider(scale,1,100);functionOnInspectorUpdate()if(Selection.activeTransform)Selection.activeTransform.localScale=Vector3(scale,scale,scale);

如何让静态变量在 iOS 应用程序中显示为字段?

【中文标题】如何让静态变量在 iOS 应用程序中显示为字段?【英文标题】:How do I get a static variable to appear as a field in an iOS app? 【发布时间】:2018-05-21 15:11:41 【问题描述】:

我在情节提要中添加了一个标签,并按 CTRL 拖动到我的 ViewController.swift 文件中,设置为 Outlet 并为其命名,但我不清楚如何将如下变量打印到我的标签中。

var userName = "Ted"

在 Swift Playgrounds 中,我可以运行以下命令,它可以很好地打印变量,但是一旦我编译了应用程序,我就无法在 label/IBOutlet 中做到这一点。

var userName = "Ted"
print(userName)

到目前为止,这是我的 ViewController:

import UIKit

class ViewController: UIViewController 
    var userName = "Ted"

    @IBOutlet var userNameLabel: UILabel? = nil

    override func viewDidLoad() 
        super.viewDidLoad()

        print(userName)
    

我正在使用 Xcode 9.3.1 和 Swift 4。

【问题讨论】:

【参考方案1】:

由于您的标签是一个出口并且它通过您的故事板连接,因此更改:

@IBOutlet var userNameLabel: UILabel? = nil

到:

@IBOutlet var userNameLabel: UILabel!

然后在viewDidLoad,而不是print,设置标签的text

userNameLabel.text = userName

【讨论】:

【参考方案2】:

每个标签都有一个名为 text 的属性,用于设置/获取标签的值,例如:

 lblObj.text = "text you want to display"
 print(lblObj.text) // output::  "text you want to display"

text 属性只会除 string 类型,因为您的用户名是字符串类型,您可以像下面这样分配它

userNameLabel.text = userName

【讨论】:

以上是关于如何让静态变量在inspector里面显示的主要内容,如果未能解决你的问题,请参考以下文章

如何让静态变量在 iOS 应用程序中显示为字段?

ABAP Memory Inspector 里对动态内存对象的内存消耗度量方式

C++中类里面定义 静态成员变量的问题

如何在文本框中显示全局 [静态] 变量的内容?

如何在 PHP 中以不同方式显示静态文本和动态文本(由变量生成)?

堆栈的内容---------静态变量等等