iOS(OC)学习第2天-绑定UI和点击事件

之前我们学会了设置UI,但是UI组件没有绑定点击事件,不能交互

第一步-设置静态操作页面

页面上共6个UI组件:三个UILabel ,两个 UITextField ,一个UIButton

第二步-定义变量和方法

objectivec 复制代码
//ViewController.h
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

//IBAction
//保证方法可以进行连线
//相当于void
-(IBAction)sum;

//IBOutlet
//保证属性可以进行连线
@property(nonatomic,weak) IBOutlet UITextField *text1;
@property(nonatomic,weak) IBOutlet UITextField *text2;
@property(nonatomic,weak) IBOutlet UILabel *result;

@end
  1. 返回类型是IBAction的方法有一个圆圈,反之没有
  2. 定义参数是IBOutlet的变量有一个圆圈,反之没有

第三步-建立链接

鼠标靠近圆圈时,有一个+号展示,然后点击拖动到指定UI组件,这样方法或者变量就跟对应的组件建立的链接

建立链接


建立链接后,变成了实心圆圈

点击实心圆,可以看到关联的组件

删除链接

第四步-实现点击逻辑

objectivec 复制代码
//ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}
- (void)sum1{
    
}

- (void)sum {
    NSLog(@"ViewController sum");
    NSLog(@"ViewController _text1 = %@",self.text1);
    NSLog(@"ViewController _text2 = %@",self.text2);
    NSLog(@"ViewController _result = %@",self.result);
    //获取数字
    NSString *addStr1 = self.text1.text;
    NSString *addStr2 = self.text2.text;
    
    //转换成int
    int num1 = [addStr1 intValue];
    int num2 = [addStr2 intValue];
    
    NSLog(@"ViewController addStr1 = %@  num1=%d",addStr1,num1);
    NSLog(@"ViewController addStr2 = %@  num2=%d",addStr2,num2);
    
    //相加
    int sum = num1+num2;
    
    //设置结果
    self.result.text = [NSString stringWithFormat:@"%d", sum];
}


@end

结果

相关推荐
weixin_431600445 分钟前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
带娃的IT创业者8 分钟前
DeepTutor:当 Agent-Native 架构撞上个性化学习的临界点
学习·架构·ai agent·大模型应用·个性化学习·教育技术·agent-native架构
xian_wwq38 分钟前
【学习笔记】Context Engineering,AI Agent 真正的内存管理-4/16
笔记·学习·context
寒月小酒1 小时前
AnythingLLM 学习
学习
天天进步20152 小时前
UI-TARS 源码解析 #22:二次开发实战:用 UI-TARS 做一个简单的 Windows 自动操作 Agent
windows·ui
大模型码小白5 小时前
【AI】一文讲清 RAG:从大模型局限到企业级知识库落地流程
人工智能·深度学习·学习
AI探索先锋5 小时前
A* 路径规划:四种算法的进化史-学习
学习·算法
辣知5 小时前
辣知·化智20 九千年文明记录
学习
GlueNa2SiO36 小时前
06-Docker存储与数据持久化
笔记·学习·docker
铅笔侠_小龙虾6 小时前
rust 学习(9):结构体
开发语言·学习·rust