我正在编写一个应该通过 UDP 控制 Arduino 的简单应用程序。我做了两个视图: - 一个用于控制 (ViewController.h/cpp) - 一个用于设置,尤其是 Arduino 的主机名。(设置.h/cpp)
在设置视图中是一个文本字段和一个开关。如果设置了开关,则应覆盖主机名。
主机名在 ViewController.h 中声明如下:
extern const char *host_name;
在 ViewController.m 中:
const char *host_name = "WIZnetccef3";
为了在设置视图的文本字段中显示它,我使用了 viewDidLoad 函数:
textfield.text = [[NSString alloc]initWithUTF8String:host_name];
对视图的更改工作正常。将显示主机名“WIZnetccef3”。
如果我改变滑块的位置,如果开关打开,将执行以下代码:
const char *hname = [textfield.text UTF8String];
host_name = hname;
但是当我切换视图并返回设置时,不会显示新的主机名。文本字段为空或包含奇怪的字符。
这是我的问题,我不知道问题是什么。我构建了一些错误以找出我犯了错误的地方,但这没有帮助。