如何让静态变量在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里面显示的主要内容,如果未能解决你的问题,请参考以下文章
ABAP Memory Inspector 里对动态内存对象的内存消耗度量方式