我对iPhone开发完全陌生,基本上都是C语言。我理解变量的概念等等,所以我试图以基本的方式使用它们来更好地掌握这个概念。不幸的是,当我尝试做一些非常简单的事情时,我收到编译器警告:我只想分配我的5个变量值
ViewController.h代码:
@interface MyApplicationViewController : UIViewController {
IBOutlet UITextView *variable1;
IBOutlet UITextView *variable2;
IBOutlet UITextView *variable3;
IBOutlet UITextView *variable4;
IBOutlet UITextView *variable5;
}
[我知道理论上我可以将这些变量连接到IB中的文本视图,但我不是]
@property (nonatomic, retain) IBOutlet UITextView *variable1;
@property (nonatomic, retain) IBOutlet UITextView *variable2;
@property (nonatomic, retain) IBOutlet UITextView *variable3;
@property (nonatomic, retain) IBOutlet UITextView *variable4;
@property (nonatomic, retain) IBOutlet UITextView *variable5;
@end
ViewController.m代码:
@implementation MyApplicationViewController
@synthesize variable1;
@synthesize variable2;
@synthesize variable3;
@synthesize variable4;
@synthesize variable5;
- (void)viewDidLoad {
variable1 = "memory text1"; [Warning]
variable2 = "memory text2"; [Warning]
variable3 = "memory text3"; [Warning]
variable4 = "memory text4"; [Warning]
variable5 = "memory text5"; [Warning]
}
我没有释放我的变量,因为我想将它们保存在内存中,直到应用程序完全终止。为什么我会收到这些警告?我做错了吗?我打算在这里做的就是将变量的值(memorytext1,内存文本2等)保存在内存中。我在Stack Overflow上查看了关于此警告的其他对话,但他们的问题似乎与我的不匹配,尽管警告是相同的。请不要说太复杂,因为我还是新手。谢谢!
答案 0 :(得分:5)
有两个问题:
因此,设置文本字段文本的正确代码应为
variable1.text = @"text1";
答案 1 :(得分:0)
您错过了文字开头的@
!
variable1.text = @"memory text1";
variable2.text = @"memory text2";
variable3.text = @"memory text3";
variable4.text = @"memory text4";
variable5.text = @"memory text5";
答案 2 :(得分:0)
Vladimir是正确的,假设您使用NIB文件来分配UITextView属性。如果您没有使用NIB,那么您的变量将为零,并且您的字符串将不会被分配到任何地方。