一个最简单的ios程序(object_c)的编写
前言
如何在苹果系统MacOS创建一个简单的ios(iphone)程序,貌似非常的简单。但是,作为习惯了Windows开发的程序员来说,有时候还觉得有点麻烦,至少开始有点很不习惯。
本博文试着把这个过程展现一下,供大家参考。
开发硬件平台是MacBook Air 2022版,苹果MacOS系统是Sonoma 14.6.1,XCode版本是15.4。手机是iphone 15pro,系统是ios17.4。
一、工程的创建

注意选用的是ios模块中的APP,如下图:

然后,Team需要填的,我这里因为隐私问题没有显示:


这样工程就创建完毕了,如下图:

注意这里的ios版本设置为17.4而非17.5,主要是考虑调试用的iphone 15pro用的是ios17.4
二、Button的添加
点击工程中的Main,我们可以看到一个空白的手机界面,如下图:

三键齐按弹出的一个控件选择框,如下图:
(苹果键盘:command+Shift+L ,普通键盘:Windows键+Shift+L )

然后,将Button控件拖动到手机界面上,如下图:

三、控件面板的功能介绍
如何将Button的显示,修改为TouchMeButton,将其控件名修改为FirstButton呢?这就涉及到右侧控件面板的使用。
主要的几个用到的选项:
第一个的是Attributes inspector,这个面板页面用来设置控件属性。在这里可以修改控件的显示名称,第二个是Identity inspector,可以修改控件的实际名称,如下两图:


Connection inspector ,这个面板页面用来设置事件。


同样的,右键点击Button按钮,也能弹出同样的界面,可以用来进行事件的设定的。
四、为Button增加一个Click事件(Touch)
点击这个开关,确保有两个中间页面显示:

将界面调整如下,左边放控件图形,右边打开ViewControler.h

然后,右键点击Button,在弹出框中选择,如下图:

拖动至右侧代码中间,会有Insert Action,并弹出设置框,如下图:

然后输入函数名,如下图:

点击“Connect”,如下图:

这样,一个事件函数的声明就产生,我们可以同样查看对应的函数体(在.m文件中),如下图:

这样一个事件函数的框架就好了。
五、在Click事件中增加调试语句

运行程序,在手机上点击”TouchButton”,然后在XCode的调试界面,就可以看到如下图:

六、增加一个Label控件
采用增加一个Button相同的方法增加一个Label控件,如下图:

七、在Click事件中修改Label控件信息
Ctrl+鼠标选中点击这个Label,向ViewController进行拖动,然后就会弹出一个对话框,如下图:

点击connect,这样就建立了一个Label的connect,代码中发现新加了一行,如下图:

然后,我们再在ButtonClick函数中增加一个修改myLabel内容的操作,如下图:

然后,编译运行程序,在iphone上点击按钮,可以发现label的值改变了。
相关文章:
一个最简单的ios程序(object_c)的编写
前言 如何在苹果系统MacOS创建一个简单的ios(iphone)程序,貌似非常的简单。但是,作为习惯了Windows开发的程序员来说,有时候还觉得有点麻烦,至少开始有点很不习惯。 本博文试着把这个过程展现一下ÿ…...
使用Clion在ubuntu上进行交叉编译,并在Linux上远程编译五子棋
目录 1.工具以及概念介绍 (1)Clion软件简介 (2)交叉编译 (3)远程编译 2.操作原理 3.详细操作步骤 (1)配置Clion与虚拟机ubuntu的ssh连接 CLion远程开发Ubuntu,并显…...
《QDebug 2024年12月》
一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.QQuickPaintedItem 或者 QQuickItem 绘制的图片 dpi 缩放后模糊 启用 Qt 自带的缩放后,界面会跟随系统设置的 dpi 进行放大缩小: #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)QCoreApplicat…...
3---杭州工作三年半
2021-07-06来杭——2025-01-01元旦 1滨江2021-07-06——2022-11-25(一年零四个月) 2下沙2023-01-01——2023-04-27(五个月) 3苏州2023-06-07——2023-06-27(一个月)厦门2023-06-29——2023-07-06ÿ…...
从2024看2025前端发展趋势
前言 又至年关,回顾整个2024年,前端行业仍旧百废待兴,IT业界同样也未见有所起色,AI风潮也从狂热兴奋逐步走向了冷静稳定阶段,造成此形势感观并非单一行业或者某一企业之特例,实为政经等综合影响之结果。因…...
网络渗透测试实验三:SQL注入
1.实验目的和要求 实验目的:了解SQL注入的基本原理;掌握PHP脚本访问MySQL数据库的基本方法;掌握程序设计中避免出现SQL注入漏洞的基本方法;掌握网站配置。 系统环境:Kali Linux 2、Windows Server 网络环境:交换网络结构 实验工具: SqlMAP;DVWA 2.实验步骤 实验目…...
ElasticSearch7.8快速入门
文章目录 1.基本概念1.数据格式2.倒排索引 2.HTTP使用1.创建索引(相当于创建数据库)2.索引-查询 & 删除1.查询索引2.查询所有索引3.删除索引 3.创建文档1.创建文档(不指定id)2.创建文档(指定id) 4.文档…...
【YashanDB知识库】hive初始化崖山报错YAS-04209
本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7849008.html?templateId1718516 【问题分类】功能使用 【关键字】hadoop,hive,YAS-02058 【问题描述】hive初始化崖山报错: 0: jdbc:yasdb://192…...
2024年度总结:保持正念 延迟满足
总结: 时光荏苒,很快就到了年底,2024年也就悄悄的过去了,回顾这一年,有很多的感触,在此做一个总结,留下自己的脚印 CTF: 要总结的第一件事那当然是CTF,回顾这一年&#…...
VScode SSH 错误:Got bad result from install script 解決
之前vscode好好的,某天突然连接报错如下 尝试1. 服务器没有断开,ssh可以正常连接 2. 用管理员权限运行vscode,无效 3. 删除服务器上的~/.vscode-server 文件夹,无效 试过很多后,原来很可能是前一天anaconda卸载导致注册表项 步…...
Logo设计免费生成器工具:轻松创建独特标志
在当今的商业世界中,一个独特且引人注目的Logo是任何企业或品牌的身份象征。它不仅代表了公司的形象,还传达了公司的价值观和使命。然而,对于许多初创企业或小型企业来说,聘请专业设计师来设计一个Logo可能是一笔不小的开销。这时…...
[算法] [leetcode-349] 两个数组的交集
349 两个数组的交集 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2] 示例 2: …...
Type c系列接口驱动电路·内置供电驱动电路使用USB2.0驱动电路!!!
目录 前言 Type c常见封装类型 Type c引脚功能详解 Type c常见驱动电路详解 Type c数据手册 编写不易,仅供学习,请勿搬运,感谢理解 常见元器件驱动电路文章专栏连接 LM7805系列降压芯片驱动电路…...
第7章 程序流程控制 - 条件分支
汇编语言是一种低级编程语言,它与特定计算机架构的机器码有着直接对应关系。条件分支是程序流程控制的一部分,允许根据某些条件来决定执行哪一段代码。在汇编中,这通常通过比较指令和跳转指令来实现。 以下是一些经典的汇编语言源代码示例&a…...
Edge如何获得纯净的启动界面
启动Edge会出现快速链接,推广链接,网站导航,显示小组件,显示信息提要,背景 ●复杂页面 ●精简页面 点击页面设置按钮 关闭快速链接 关闭网站导航 关闭小组件 关闭信息提要 关闭背景 关闭天气提示 精简页面看起来十分舒…...
gitlab的搭建及使用
1、环境准备 服务器准备 CentOS Linux release 7.9.2009 (Core),内存至少4G。 修改主机名和配置ip地址 hostnamectl set-hostname <hostname> 关闭主机的防火墙 # 关闭防火墙 systemctl stop firewalld #临时关闭防火墙 systemctl disable firewalld …...
如何逐步操作vCenter修改DNS服务器?
在vSphere 7中有一个新功能,它允许管理员更改vCenter Server Appliance的FQDN和IP。因此本文将介绍如何轻松让vCenter修改DNS服务器。 vCenter修改DNS以及修改vCenter IP地址 与在部署 vCenter Server Appliance 后,您可以根据需要修改其 DNS 设置和 IP…...
XIAO ESP32 S3网络摄像头——2视频获取
本文主要是使用XIAO Esp32 S3制作网络摄像头的第2步,获取摄像头图像。 1、效果如下: 2、所需硬件 3、代码实现 3.1硬件代码: #include "WiFi.h" #include "WiFiClient.h" #include "esp_camera.h" #include "camera_pins.h"// 设…...
使用JMeter对Linux生产服务器进行压力测试
安装 JMeter wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.4.1.tgz tar -xzf apache-jmeter-5.4.1.tgz cd apache-jmeter-5.4.1创建 JMeter 脚本 设置中文 选择Options—>Choose Language—>选择其他语言(例如:Chinese&am…...
spring boot 异步线程池的使用
创建Spring Boot项目 首先,你需要创建一个Spring Boot项目。你可以使用Spring Initializr(https://start.spring.io/)来快速生成项目结构。 添加异步支持依赖 在你的pom.xml文件中,确保你已经添加了Spring Boot的starter依赖&…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
