初学IOS,问一些小白问题,请大牛解答下0.0

ink_s 2016-07-09 09:25:46
做过Android,现在要学习IOS了,纯小白一个0.0

1. IOS界面切换是用什么?presentviewcontroller吗?(比如Android的每一个页面是一个activity,第一次打开这些页面是要初始化一些数据等,也可以获取从别的页面传来的数据等)iOS如何切换界面,第一次切换界面并对该界面的一些数据进行了修改,如何在第二次进入该界面得到的是新的数据?
2.如何定义一个全局的变量?就是第一个界面可以使用并修改他,进入第二个界面也可以使用并修改它。
3.iOS长连接怎么弄?就像Android的服务一样的东西。
4.iOS数据存储有和Android一样的SQLite吗?

还有好多问题啊。。。我的先一点一点的研究,希望大神解答下
...全文
828 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ink_s 2016-07-12
  • 打赏
  • 举报
回复
引用 4 楼 crash163 的回复:
1. IOS界面切换是用什么? iOS7后,Apple添加了storyboard的功能,界面的切换可以直接在storyboard里连接;如果不用storyboard,直接使用单个的xib文件(viewcontroller)的话,则有presentViewController 和 pushViewController两个模式 2. 第一次切换界面并对该界面的一些数据进行了修改,如何在第二次进入该界面得到的是新的数据? 第一次修改数据后,把新的数据本地保存起来,第二次进入该界面直接读取。保存的地方可以是沙盒文件,sqlite或者key-chain 3. 如何定义一个全局的变量? iOS中定义全局变量的方式很多,比如 (1) 在AppDelegate中声明并初始化全局变量 因为AppDelegate是单例的,全局都可以访问 (2) 创建单独的文件,定义全局变量,使用 extern 关键字 比如文件中定义 NSString *url; 在使用的地方,给全局变量初始化或者赋值 extern NSString *url; url = [[NSString alloc] initWithFormat:@"http://www.google.com"]; (3) 把需要访问的变量定义在单例对象中 4.iOS长连接怎么弄?就像Android的服务一样的东西 在iOS7后有个"Background Fetch"的东东,跟android的服务比较类似 4.iOS数据存储有和Android一样的SQLite吗? 有的,iOS也提供了sqlite操作,导入libsqlite3.dylib即可,但是比较繁琐,因为都是C接口;最好是直接使用封装过的开源库,使用起来方便,比较优秀的有:FMDB
好的 在研究研究
ink_s 2016-07-12
  • 打赏
  • 举报
回复
引用 1 楼 w582324909 的回复:
1、(1)界面切换可以在storytboard上连线,可以给buttton连控制器,这样点button可以直接换控制器,也可以控制器连线控制器。 (2)直接代码切换控制器: UIStoryboard *sto = [UIStoryboard storyboardWithName:@"Label" bundle:nil]; [self presentViewController:[sto instantiateViewControllerWithIdentifier:@"label"] animated:YES completion:nil]; 如果是nav的话,就可以直接push了: UIStoryboard *sto = [UIStoryboard storyboardWithName:@"Shenpi" bundle:nil]; [self.navigationController pushViewController:[sto instantiateViewControllerWithIdentifier:@"shenpi"] animated:YES]; 或者推xib: PeopleInfoViewController *vc = [[PeopleInfoViewController alloc] initWithNibName:@"PeopleInfoViewController" bundle:nil]; [self.navigationController pushViewController:vc animated:YES]; 下面是返回上一层的控制器: [self.navigationController popToRootViewControllerAnimated:YES];
ok的 谢谢 我在慢慢研究研究
网易云捕 2016-07-11
  • 打赏
  • 举报
回复
1. IOS界面切换是用什么? iOS7后,Apple添加了storyboard的功能,界面的切换可以直接在storyboard里连接;如果不用storyboard,直接使用单个的xib文件(viewcontroller)的话,则有presentViewController 和 pushViewController两个模式 2. 第一次切换界面并对该界面的一些数据进行了修改,如何在第二次进入该界面得到的是新的数据? 第一次修改数据后,把新的数据本地保存起来,第二次进入该界面直接读取。保存的地方可以是沙盒文件,sqlite或者key-chain 3. 如何定义一个全局的变量? iOS中定义全局变量的方式很多,比如 (1) 在AppDelegate中声明并初始化全局变量 因为AppDelegate是单例的,全局都可以访问 (2) 创建单独的文件,定义全局变量,使用 extern 关键字 比如文件中定义 NSString *url; 在使用的地方,给全局变量初始化或者赋值 extern NSString *url; url = [[NSString alloc] initWithFormat:@"http://www.google.com"]; (3) 把需要访问的变量定义在单例对象中 4.iOS长连接怎么弄?就像Android的服务一样的东西 在iOS7后有个"Background Fetch"的东东,跟android的服务比较类似 4.iOS数据存储有和Android一样的SQLite吗? 有的,iOS也提供了sqlite操作,导入libsqlite3.dylib即可,但是比较繁琐,因为都是C接口;最好是直接使用封装过的开源库,使用起来方便,比较优秀的有:FMDB
看_灰机 2016-07-11
  • 打赏
  • 举报
回复
SQLite ios中也是有的。 可以用cocoapods导入FMDB,可以使用了。
看_灰机 2016-07-11
  • 打赏
  • 举报
回复
所有控制器都可以用的数据或者属性的方法: 在#import "AppDelegate.h"中写你要要的东西,比如: #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @property (copy, nonatomic) NSString *user_name; + (instancetype)shareAppDelegate; @end / / NSString *user_name 是你想要用到的 在.m中实现方法: + (instancetype)shareAppDelegate { return (AppDelegate *)[[UIApplication sharedApplication]delegate]; } 之后再你需要到user_name这个属性的文件中导入#import "AppDelegate.h" 加入: @property (nonatomic,strong) AppDelegate *appDelegate; 方法中: self.appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; 可以直接用self.appDelegate.user_name了。如果这个值在A文件中赋值为@“小明”,那么在B、C等等控制器中拿到的值都是@“小明”。
看_灰机 2016-07-11
  • 打赏
  • 举报
回复
1、(1)界面切换可以在storytboard上连线,可以给buttton连控制器,这样点button可以直接换控制器,也可以控制器连线控制器。 (2)直接代码切换控制器: UIStoryboard *sto = [UIStoryboard storyboardWithName:@"Label" bundle:nil]; [self presentViewController:[sto instantiateViewControllerWithIdentifier:@"label"] animated:YES completion:nil]; 如果是nav的话,就可以直接push了: UIStoryboard *sto = [UIStoryboard storyboardWithName:@"Shenpi" bundle:nil]; [self.navigationController pushViewController:[sto instantiateViewControllerWithIdentifier:@"shenpi"] animated:YES]; 或者推xib: PeopleInfoViewController *vc = [[PeopleInfoViewController alloc] initWithNibName:@"PeopleInfoViewController" bundle:nil]; [self.navigationController pushViewController:vc animated:YES]; 下面是返回上一层的控制器: [self.navigationController popToRootViewControllerAnimated:YES];

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧