ios创建控制器的3种方法实现页面跳转
ios遵守mvc设计模式,下面介绍创建控制器viewcontroller的几种方法,来实现页面的跳转
1.纯代码创建
//
// AppDelegate.m
// study2024
//
// Created by zhifei zhu on 2024/8/7.
//#import "AppDelegate.h"
#import "MyViewController.h"
@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch.//使用自定义viewcontroller,先删除main.storyboard和viewcontroller//1.创建窗口并指定大小self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];//2.创建控制器MyViewController *myViewController=[[MyViewController alloc]init];myViewController.view.backgroundColor=[UIColor greenColor];//3.设置为窗口的根控制器self.window.rootViewController=myViewController;//4.将窗口作为应用程序的主窗口[self.window makeKeyWindow];return YES;
}#pragma mark - UISceneSession lifecycle- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options {// Called when a new scene session is being created.// Use this method to select a configuration to create the new scene with.return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
}- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions {// Called when the user discards a scene session.// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}@end
2. 通过storyboard创建控制器
1)、Is initial view controller打上勾

//通过storyboard创建控制器
UIStoryboard *uiStoryboard=[UIStoryboard storyboardWithName:@"MyStoryboard" bundle:nil];
//storyboard只有一个viewcontroller的情况
// MyViewController *myVc=[uiStoryboard instantiateInitialViewController];
//storyboard有多个viewcontroller的情况,需要使用storyboard id属性

MyCatViewController *myVc=[uiStoryboard instantiateViewControllerWithIdentifier:@"MyStoryboard1"];
[self.view.window setRootViewController:myVc];
2.3、通过xib创建控制器
//创建控制器的时候同时创建xib页面

PhotoViewController * myVc = [[PhotoViewController alloc]init];
[self.view.window setRootViewController:myVc];
相关文章:
ios创建控制器的3种方法实现页面跳转
ios遵守mvc设计模式,下面介绍创建控制器viewcontroller的几种方法,来实现页面的跳转 1.纯代码创建 // // AppDelegate.m // study2024 // // Created by zhifei zhu on 2024/8/7. //#import "AppDelegate.h" #import "MyViewContro…...
Android逆向题解-boomshakalaka-3-难度5
这个app 是一个cocos游戏,没有用脚本实现,纯c实现。 题目描述:play the game, get the highest score 题目要求是玩游戏得到最高分就可以得到flag,是写到配置文件的,初始flag值看着是base编码的。 核心代码在so里面的ControlLay…...
Linux(Ubuntu 22.04)系统中固定串口
Linux(Ubuntu 22.04)系统中固定串口 文章目录 前言正文查看linux串口信息修改udev固化串口校验是否修改完成 注意 前言 在Linux系统中固定串口(通常指的是串行通信接口,如/dev/ttyS0或/dev/ttyUSB0)的原因有几个方面&…...
LeetCode - 209 - 长度最小的子数组
力扣209题 题目描述:长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组&…...
探索空间计算与VR中的手势跟踪新纪元:XHand框架详解
在虚拟现实(VR)和扩展现实(XR)技术日新月异的今天,手势跟踪作为实现沉浸式体验的关键技术之一,正逐步从概念走向成熟。今天,我们将深入探索一个创新的框架——XHand,它以其卓越的性能和先进的技术亮点,为空间计算与VR领域的手势跟踪带来了全新的解决方案。 XHand框架…...
leetcode + 项目复习
上午 Leetcode算法 参考文章——代码随想录 1. KMP 概念 主要应用 字符串匹配 主要思想 根据之前匹配的信息,当发现字符串不匹配时,避免从头开始匹配。 什么是前缀表(next数组、prefix) 是用来回退的,当文本串和…...
树莓派4/5:设置apt、pip、conda首选清华镜像源
一、教程简介 在中国大陆地区,使用清华镜像源可以显著缩短资源下载时间。 本教程介绍如何将清华镜像源设置为树莓派的apt、pip、conda下载的首选项(默认项)。其中,apt和pip为树莓派系统自带,conda则需要安装miniforg…...
NoSQL 之Redis集群模式
目录 案例概述 redis工作模式 主从模式 哨兵模式 redis cluster模式 Redis集群介绍 Redis集群的优势 Redis集群的实现方法 Redis-Cluster数据分片 Redis-Cluster的主从复制模型 Redis集群部署 案例部署 安装redis 检查redis的状态 修改配置文件 重启启动redis服…...
oracle rac
1、app连接oracle rac集群 连接到 Oracle RAC(Real Application Clusters)的多种配置方式 1. 使用 JDBC 连接字符串: 使用 JDBC 连接字符串是连接 Oracle RAC 的常见方式。连接字符串的格式如下: jdbc:oracle:thin:(DESCRIPTION…...
计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI
Python深度学习房价预测系统开题报告 一、研究背景与意义 随着城市化进程的加速和房地产市场的不断发展,房价成为影响人们生活质量的重要因素之一。准确预测房价不仅有助于政府制定科学的房地产政策,还能为开发商提供市场参考,同时帮助购房…...
【Linux】学习Linux,需要借助具象化的思维
指令与图形化界面 导读一、命令行与图形化界面二、命令行与图形化界面的发展历程1.2.1 打字机的起源1.2.2 肖尔斯和格利登型打字机1.2.3 鼠标的发明1.2.4 图形化界面(GUI)的发展 三、命令行与图形化之间的联系3.1 图形化界面的人机交互3.2 命令行界面的人…...
R语言贝叶斯方法在生态环境领域技术教程
原文链接:R语言贝叶斯方法在生态环境领域技术教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247612056&idx5&snb170122cf5052cc7cb2d858606b9f158&chksmfa82777fcdf5fe69eec092410530e2900c98bcbb84e3d33c823705c948b4db96545bf282747a…...
mojo实现高阶函数(algorithm)
functional 实现高阶函数。 您可以从 algorithm 包导入这些 API。例如: from algorithm import map别名: Static1DTileUnitFunc = fn[Int](Int, /) capturing -> None: Signature of a 1d tiled function that performs some work with a static tile size and an off…...
先进制造aps专题二十四 云平台排产aps的方案设计
云平台排产aps的方案设计 针对对象是有排产需求无需定制的中小型工厂企业 一 网站功能(b/s架构) 1 前端界面 客户登录 排产项目管理 基础数据(产品资料,产品工艺,工作日历,生产资源,工艺能力…...
JavaScript 逆向技巧总结
本节属于知识总结,只是对思路的梳理,不对具体内容进行展开 JS 逆向可以分为三大部分: 寻找入口, 调试分析, 模拟执行 寻找入口: 这是非常关键的一步,逆向在大部分情况下就是找一些加密参数到底…...
linux反向代理原理:帮助用户更好地优化网络架构
Linux反向代理原理详解 反向代理是一种在网络架构中常用的技术,尤其在Linux环境下被广泛应用。它可以帮助实现负载均衡、安全防护和请求缓存等功能。本文将深入探讨Linux反向代理的原理、工作机制以及其应用场景。 1. 什么是反向代理 反向代理是指代理服务器接收客…...
开源DevOps工具链管理:DevStream
DevStream:简化DevOps,加速创新- 精选真开源,释放新价值。 概览 DevStream,一个开源的DevOps工具链管理器(DTM),由merico-dev团队精心打造,现已加入CNCF大家庭,并在devs…...
图数据库框架及其支持的开发语言和应用场景
图数据库框架及其支持的开发语言和应用场景 1. Neo4j 类型:原生图数据库特点:最流行的图数据库之一,使用Cypher查询语言,支持ACID事务,具有丰富的图算法库。支持的开发语言:Java, Python, JavaScript, Go, .NET, Ruby, PHP等。驱动和库:Neo4j Java Driver, Py2neo (Pyt…...
【Linux 18】核心转储
文章目录 🌈 一、什么是核心转储🌈 二、如何启动核心转储🌈 三、为什么有核心转储 🌈 一、什么是核心转储 核心转储 (Core Dump):当一个进程异常终止时,会在触发进程崩溃的目录下生成一个以进程 pid 命名的…...
远程传输文件至服务器—spc 传输
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、SPC是什么?二、使用步骤1.进入 windows 客户端需要传输文件的目录。2.在该目录的路径栏输入 cmd,回车打开终端。3.确定服务器端 IP …...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
