请教OC中self用法 -问答-阿里云开发者社区-阿里云

开发者社区> 爵霸> 正文

请教OC中self用法

2016-03-11 14:28:11 1390 2

面的获取文本框、标签的文本属性为什么都要用self.num1.text,self.resultLabel.text, 不能直接用num1.text,resultLabel.text???

#import "HMViewController.h"

@interface HMViewController ()
 @property (nonatomic, weak) IBOutlet UITextField *num1;
 @property (nonatomic, weak) IBOutlet UITextField *num2;
 @property (nonatomic, weak) IBOutlet UILabel *resultLabel;

@end

@implementation HMViewController

(IBAction)compute
 {
 NSString *num1 = self.num1.text;
 NSString *num2 = self.num2.text;

int result = num1.intValue + num2.intValue;

self.resultLabel.text = [NSString stringWithFormat:@"%d", result];

[self.view endEditing:YES];
 }


@end
取消 提交回答
全部回答(2)
  • 世界线跳跃者
    2019-07-17 18:59:15

    因为num1.text在编译时会被解释为向num1这个对象调用text方法,而这个类(或者说这个编译上下文中)没有num1这个对象,只有_num1,所以不行。

    而同上,self.num1.text,指向self这个对象调用text方法,而self是在方法中隐式的传入的,所以可以。

    0 0
  • 爵霸
    2019-07-17 18:59:15

    可以用 _ num1.text 来读取
    用 self.num 会自动调用 get 方法

    0 0
添加回答
+关注
2
文章
9426
问答
问答排行榜
最热
最新
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载