仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1398|回复: 18
打印 上一主题 下一主题

[学习教程] IOS制作之iPhone开辟中两个UIViewController间传送变量和挪用办法的处置仓酷云 ...

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
iOS5开始支持CoreImage了还没去看Mac上的CI是很强大的CFNetwork---从来没用过我一般都会用ASIHttpRequset封装好的高层网络库OBJC实现的CFNetwork好像是C实现CoreLocation---获取位置的库工具很少写如许的文章简单露怯,由于我不晓得甚么是业界真正轨范的做法,这里写的只是本人以为对照复杂易用的最好理论,写出来生怕会被年夜牛笑话,也影响本人的多年码农的抽象。不外办法越多,新人越难把握,以是提醒一下也是好的,接待切磋。
实在这个标题里包括了两个工具,传送变量和挪用办法,这两个的处置是纷歧样的,由于之前看了CocoaChina上的那篇文章是混在一同写的,以是这里也放在一篇文章里写。
变量传送
一般就是指要在一个ViewController内里读取到别的一个ViewController中的变量,好比弹出一个新界面的时分,必要晓得本来的界面以后的SegmentControl如今选中的是哪一个形态之类的,固然也有更庞大的,全局通用变量的处置也在这个范围内,良多View都要用到统一个变量,好比以后登任命户的身份。
这里最复杂的体例有两个,一是经由过程文件体例传送,固然,你不必本人完成读写文件,只需利用NSUserDefaults就能够了,它内里能够放进任何可以被序列化的复杂变量,全局都能够读取,由于这个类自己是供应单例形式会见的,只需在任何中央修正了某个key对应的value,挪用一下同步函数,这个值就被写进磁盘了,在任何别的的中央从头读取这个key,就可以取到最新的value。并且这个值是永世保留的,程序重启也不妨。
第二个办法是经由过程appDelegate,它也是全局的,自己供应单例形式会见,以是不用忧虑会见到统一个类分歧对象的分歧变量值。只需你在AppDelegate.h内里界说的变量,在任何ViewController内里,猎取[[UIAppcationsharedApplication]delegate],再挪用它的该变量的名字就能够了,取值大概赋值都无所谓,该变量对全部使用程序都是能够会见的。体系供应的CoreData模板中Context的会见体例就是如许完成的。
另有第三个体例,跟上面的办法挪用一同说。
办法挪用
办法挪用就是指在一个ViewController内里必要挪用别的一个ViewController内里的某个办法,事务也能够回为这一类,好比以后真个这个ViewController完成了处置义务必要封闭的时分,请求它前面行将必要显现出来的谁人ViewController革新本人的页面,以便把最新的数据显现出来。
完成事务挪用的举措最尺度的是delegate。界说一个新的delegate接口,内里是某个办法大概事务的界说,不包括详细完成。被挪用一方的ViewController完成该接口,并完成该办法的详细内容。挪用一方必要声明该delegate范例的一个变量,在必要挪用的时分,间接把这个变量当做被挪用的谁人Controller类来用,好比myDelegate.DoXXX();如许做了以后,在挪用方的ViewController实例化的时分,必要将被挪用方的实例赋值给它的myDelegate变量才行,要否则它就是个空指针了。这类完成体例之以是尺度,是由于对换用方没有束缚,这个类能够便利的重用,也就是松耦合计划,今后别的的项目能够把这个类复制已往,一行不必改,只需包管有其余类完成了这个delegate并被传送出去就能够了。
别的一种简化的办法是,间接将被挪用方的类界说成挪用方的一个变量。好比在ChildController内里界说一个变量RootViewControllermyRoot;然后实例化该类的时分间接child.myRoot=self;这时候候在child外部,对myRoot这个变量是能够随心所欲的,它内里的办法你能够任意挪用,包含革新它本人的界面,大概改动某个控件的形态和值,大概改动它内里的某个变量的值(这就是下面说的传送变量的第三种办法,仅限于两个Controller之间),都是能够的。不外这时候候就是紧耦合了,这个ChildController不便利拿到其余项目里往用,由于它内里把RootViewController的办法给写逝世了。不外假如你也没盘算今后在其余项目里重用它,如许做能够免却很多代码。不外同时你还得当心被你挪用的谁人rootController,此时有无被体系给开释失落。假如在child内里界说变量大概传送变量过去的时分把它retain了,一样平常不会呈现这类成绩。
OK,就说这么多。

所以你可以用很多方法存储数据比如最长用的sqlite当然如果另类也可以用plist文件或者其他NSManagedObjectContextNSManagedObjectContext
小女巫 该用户已被删除
沙发
发表于 2015-1-21 15:21:26 | 只看该作者
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
活着的死人 该用户已被删除
板凳
发表于 2015-1-30 20:23:18 来自手机 | 只看该作者
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
飘灵儿 该用户已被删除
地板
发表于 2015-2-6 00:19:27 | 只看该作者
最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。
不帅 该用户已被删除
5#
发表于 2015-2-6 19:52:02 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
柔情似水 该用户已被删除
6#
发表于 2015-2-10 09:12:35 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-1 06:25:29 | 只看该作者
学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。
小妖女 该用户已被删除
8#
发表于 2015-3-1 16:15:52 | 只看该作者
其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-5 03:25:39 | 只看该作者
开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦
金色的骷髅 该用户已被删除
10#
发表于 2015-3-11 22:57:05 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
只想知道 该用户已被删除
11#
发表于 2015-3-19 15:42:33 | 只看该作者
学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。
变相怪杰 该用户已被删除
12#
发表于 2015-3-21 11:37:31 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
莫相离 该用户已被删除
13#
发表于 2015-3-26 23:55:18 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
因胸联盟 该用户已被删除
14#
发表于 2015-4-1 19:11:24 | 只看该作者
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
兰色精灵 该用户已被删除
15#
发表于 2015-4-2 22:55:14 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
admin 该用户已被删除
16#
发表于 2015-4-4 19:35:19 | 只看该作者
其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。
乐观 该用户已被删除
17#
发表于 2015-4-11 02:10:30 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
分手快乐 该用户已被删除
18#
发表于 2015-4-15 10:02:34 | 只看该作者
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
19#
发表于 2015-4-26 11:12:15 | 只看该作者
iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 00:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表