我尝试在一个设置的类中导入联系人。但是,如果没有,我想在一个完全独立的View Controller中设置一个标签出口,说“找不到”。
基本上,我想在一个班级中向另一个班级发送一条消息,但由于某种原因,我正在画一个空白。
以下不会抛出错误但也没有设置标签,因此无效。
VC.h:
//wired to label in VC in storyboard:
@property (weak, nonatomic) IBOutlet UILabel *noneFound;
@end
request.m
//class that does request
#import "VC.h"
NSString *result = @"none found";
VC* vc;
vc.noneFound.text = result;
必须有一个明显的方法来做到这一点。非常感谢任何建议。
答案 0 :(得分:0)
在属性中使用强而不是弱
@property (strong, nonatomic) IBOutlet UILabel *noneFound;
答案 1 :(得分:-1)
虽然从VC外部设置视图控制器的标签没有错,但我不建议这样做。 MVC架构管理着这个。
除非是业务逻辑需求,否则不应将UI组件公开给头文件。它就像其他人代表视图控制器做出决定。我建议将IBOutlet放在VC的.m文件中。现在,要将请求类与VC链接,请使用任何现有的设计模式 - 块,代理,通知,目标操作等。Refer to Apple Documentation
一旦有链接,将值从请求类传递给VC,然后在VC中确保 UI始终在MAIN线程上更新。
希望这有帮助!
答案 2 :(得分:-3)
您始终可以使用NSUserDefaults
保存:
NSString *valueToSave = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
加载:
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"preferenceName"];