Android到IOS开发的转换
作者:网络转载 发布时间:[ 2015/4/22 10:49:28 ] 推荐标签:Android iOS 开发 转换
二)流程
ios的入口函数是main.m文件,里面
一个项目项目结构图如上所示,看到这个结构,我们很关心它的流程是怎样,ios里面它的入口是main.m文件,在main里面声明了代理类的运行:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
这里我们看到由main启动了appdelegate这个代理类,在这个代理类里面我们可以设置ios默认启动哪个试图作为第一个显示试图,如下所示:
#import "AppDelegate.h"
#import "ViewController.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
_window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
ViewController *friendController=[[ViewController alloc]init];
UINavigationController *navigationController=[[UINavigationController alloc]initWithRootViewController:friendController];
_window.rootViewController=navigationController;
[_window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
- (void)applicationWillTerminate:(UIApplication *)application {
}
@end
在这里我们设置了默认显示的第一个视图为:ViewController,并且我们设置了一个东西:
_window.rootViewController=navigationController;
这个我们可以理解为android的Context,有了这个我们可以全局控制管理view,开始我没有设置这个,所以view页面跳转老是跳转不过去,并且官方也推荐使用这种方式而不是直接在view中跳转。
三)view
现在我们来到了ViewController,它是android中的activity,activity继承至Activity,而ios中它继承UIViewController,因此在这里可以操作这个页面的视图,而View的跳转也是我们android里面activity的跳转。
它的跳转方式如下:
LoginViewController *ickImageViewController = [[LoginViewController alloc] init];
[self.navigationController pushViewController: ickImageViewController animated:true];
是push和pop view的方式,通过我们前面定义的根view。
四)布局
ios的布局可比android舒服多了,因为屏幕少啊,再多也没android多吧,在ios里面布局分为三种:
代码:代码布局是不是用xib文件,直接代码创建button之类的,这个在ios里面是可行的,因为ios项目组开发中,美工在效果图的时候,还会给出组建的xy坐标位置,并且代码可复用程度较高。
xib:xib是前面将的,和android一个activity对应一个布局xml一样,一个ios的view对应一个xib,但是不得不说的是ios里面的拖拉拽比android里面的穷矮挫舒服多了,效果好很多很多。
Storyboard:这个东西是新生儿,统一了上面两种方式,它管理的所有view的布局。
五)结尾
好吧,这两天后能够使用3种布局创建一些界面,然后在上面丢一些组件,操作下本地数据库,网络下载点东西,之前我一直做服务器,也在andrid下搞xmpp,正好ios下也练手。
至于对于ios的深入分析了解,还真不是两天能学出来的,能做和懂是两码事了,后者好是和别人学习。
写的有些随意和杂。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
了解ios自动化测试要知道哪些知识?IOS配置、远程设备管理和TestAgent的启动方式移动测试工具MR是如何进行IOS设备录制以及相关脚本命令编辑操作的?MobileRunner iOS部署文档iOS单元测试iOS遭攻击频率低于安卓 但后果更严重iOS的JSON解析及用例设计iOS UnitTest单元测试(iOS)一个让我找了6小时的BugAppium iOS 10 跑起来浅谈iOS单元测试iOS UI自动化测试初探iOS APP打包分发给远程的手机测试复杂业务场景下如何进行iOS端自动化测试微信关闭iOS版公众号打赏功能,只因苹果想分成?苹果企业账号遭滥用:iOS漏洞“留出”赌博应用通道
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南