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

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

请教OC中self用法

面的获取文本框、标签的文本属性为什么都要用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

展开
收起
爵霸 2016-03-11 14:28:11 1680 0
2 条回答
写回答
取消 提交回答
  • 世界线跳跃者
    宇宙虽有其起源,却没有终结。无限。 星球虽也有起源,却因其自身之力走向毁灭。有限。

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

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

    2019-07-17 18:59:15
    赞同 展开评论 打赏
  • 爵霸

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

    2019-07-17 18:59:15
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载