Swift 和As3 的缘分开始(一)

来源:互联网 发布:java发送短信代码 编辑:程序博客网 时间:2024/04/30 15:07

       之前一直很想写一点不一样的东西,现在感觉开始可以写了。这样鼓励自己可以坚持去做一件事情。看回之前写的文章,有一些比较槽糕,因为平时博客都是直接在csdn编辑器写的。讲到这个语言,我估计和当初学as3 一样,很多资料都是一点点收集起来。你是否会问笔者是不是不想学as3了?其实不是,我一直很喜欢as3,所以从现在没有打算放弃,鉴于想去学一点新东西,因此就从今晚开始。

         很多人都会像我一样对swift 这门语言 感兴趣,就像当年出了as3 一样,一样兴奋,一样的狂热。我想学习as3 给我带来很多有帮助的东西,例如认识一群做as3 的朋友,他们从事了as3的行业,一点点支持了as3 行业的发展。到今天为止,as3 为游戏行业带来很多就业机会,这一点很值得肯定。由于市场 慢慢普及 移动市场,as3做移动方面并不见得十分成功,但是它在社区的兴起带来很多工具和类库。这个也影响了web方面。学swift 刚刚开始的时候,你看它像什么就像什么,这一点苹果是有点狡猾。这句话来自我一个朋友所说。他说得很有道理,正是因为这种特性,swift更加能吸引其他平台阵营的人参与到这个生态圈子的建设当中。这一点也是苹果的政策之一。 谈到 swift 开始,让我想到当初 学as3的一样。我大概举例一下。

             例如,

              (1)我会碰到一个很简单的问题,这个按钮怎样创建?

              (2)然后怎样触发事件?这个程序怎样编译?

              (3) 突然xcode 遇到了模拟器打不开? 突然 模拟器显示不出

              (4)怎样拖放组件到界面上?为什么要链接 用按钮拖进去?

              (5)mac 怎样改文件夹的名字,按什么键盘操作

               (6) 为什么xcode 6.1 正式版没有了空白模板?

              为什么?为什么?

           突然间,你会觉得我很白痴,一无所知。本身而言,我对swift知道的甚少,或者讲过去我不认识你。我们没有话题,或者不知道在那个朋友了解过你?听说你很牛逼,可是我对你一无所知。

          我的开始,对你一无所知。我用一种as3的思维去 对比,我觉得很多人学语言也是一样,当初我同事叫我学earlang 语言,我实在怎么也理解不到这门并发语言是如何语法怪异。突然间你会觉得as3 很简单,你会按这种思维对比,感觉有点像,好像也解析得很顺利。是否有一样的经历。我想大部分都有的。我们采用对比的认知去触发我们对这语言解析。视乎都可以解析得很顺利。 因为在很多教程当中开始,都有hello world 。在swift里面,打印说一句话 不是采取trace ,而是采取 println ,而oc 采用Nslog ,再对比其他 语言输出的console 等

        这样看来,在swift 的世界里面 和java 有类似的输出 函数。对比as3 大家又会来了,trace 还是很简单的。感觉也开始爽了一下,原理trace == println 。这样我们在打印的日志的时候。就学会了 println 。

       我总结了一点,进入这个swift 要学会hello world 输出的 println,而不是trace 。但是输出日志的方式 也是可以对比参考 trace as3 里面

 

      对比 认知

             trace  = println 似乎我的认知 可以解析到第一步了。

        

        进入了swift 第二天,我对swift 的一些语法感觉开始感觉一点吃力,因为之前没有接触过。例如 ?!问号和感叹号,还有要不要写分号。这个疑问很傻逼,从外行人来讲,这种可选类型 还是第一次接触。所以在观看一些视频当中,这个地方确实让有疑惑。还有 为什么参数外面 还要多写参数名,例如 :CGRect(x:200, y:200, width:100, height:30)) 这个也是让我问自己as3 为什么不用写。还记得当年学as2的人,很多时候不能忘却as2的语法,对as3很难适应过来,导致一批想转型的as3人员 无法转到as3 的阵营当中。 

          CGRect(x:200, y:200, width:100, height:30))

         mybutton.setTitle("CANCLE", forState: UIControlState.Normal)

        或者要问设计这套语言的人,为什么不做得更彻底一点呢?说到这里,从初步认知,使人一看就知道 里面的参数是什么,这一点有好处。我举一个例子。

        function  setHeroVo(callback:Function):void  ;//as3

        func  setHeroVo((Int)->Int) //swift 

       这样一来,你可以知道函数是什么用途,参数和返回的类型是什么。对代码阅读是有好处。不过呢?喜欢简洁不想多写 还是as3 舒服一点。视乎这种学习也不是特别好、但是通过对比学习,会慢慢发现设计者的一种思想。

      通过学习苹果平台开发,用起来也挺有意思。

       今晚,我通过一个视频教学,尝试视频当中的例子创建一个文本,创建了按钮,通过按钮事件改变文本的内容。有了这个开始,我开始接触这种触发机制,coco监听事件机制。从而解决了我在第一天创建按钮点击触发如何设计的疑惑。有了这个开始后,对swift 的api 依旧没有任何的印象。而今晚 这个问题也随着学习swift 进程 留下来作业。

           如何 利用 swift的 API 去阅读?如何的看一下UIkit的类库框架结构是如何的? 

          怎样去看UIKIT ?

            The Swift Programming Language中文完整版

       Using Swift with Cocoa and Objective-C 

      通过度娘的帮助下,这两本书也可以在初期学习带来一点帮助。我开始到处找资料,就和当年学as3 找到 as3 cookbook 这本书一样,确实在as3传播当中,这本书的是前期帮助很大。至少cookbook 和动物书系列的质量还是信得过。

          初步看了一下 swift cocoa 里面有对比oc 的语法的,帮助使用在使用swift的时候 有引导性地对比。

        进入swift 学习的第三天,我尝试了一个按钮+一个文本的操作实验,开始的时候我了解了怎么把一个按钮和文本拖放到xcode 的视图界面上。然后通过点击行为去触发输出日志。这个简单的动作很容易学会。然后我再尝试在点击行为的后去改变我的文本 。好了看似简单的东西,我甚至不会如何弄下去。因为我不知道怎么把界面的按钮和文本关联起来,至少不了解在那里起个名字。在flash 里面对一个元件改名字是很容易找到。然后在xcode 里面 发现一个好玩的东西,那就是需要拖动一条线到代码上生成对应的名字。这样子 有了这个 操作后。一个文本和编辑器的代码链接起来了。似乎感觉很神奇。这次试用UITextField ,因为和as3本身TextFiled 也有很类似的功能。 链接后 会多出一个

  @IBOutlet weak var textField: UITextField! 这样的代码出来。有了这个后我在按钮行为的基础上就可以进行设置。同样我拖放多几个文本 就可以尝试加法的小程序。正好看了网上的赵哲大哥的视频,这样子刚好解决早上一个疑问。

    如何去创建一个按钮和文本 ? 按钮触发后,如何去改变文本内容? 练习一下加法小程序如何?

   好了,这样可以玩下去了。

 



不过在学习这个小程序的时候,出了一个小差错,因为改名引起的,我链接对文本链接到代码那里去。导致了出现编译不过的问题,幸好在鼠标右键看到多余的命名,于是删除了 就可以顺利运行今天的小程序。其实对于这样的小程序,入门起来是很不错。起码可以保持兴奋点和新鲜度。 然后在xcode 的编写当中。我对mac 切换输入法 还不了解。

 找到了 commadn+space 就可以切换中英文 ,方便 编写逻辑了。又再学了一下mac 的操作。  很多人第一次接触mac 对窗口的关闭不习惯,玩了玩 很快就习惯。据说当年是偏向左手设计,window 是右手设计。 第一次运行的模拟器的时候,都变得很大,于是感觉好奇怪。看了几次视频教程,会经常疑惑。为什么他的窗口刚好像一个手机,而我的模拟器像一个ipad 那么大。查找度娘了,原来发现 模拟器可以设置缩放比例。这样子看起来又舒服了一点。

       今天 了解到mac 切换输入法,设置模拟器比例,还有一些连接器的使用方法。至于理解对不对?我想随着对swift 深入,会慢慢接触更多。目前而言,错误未必不是一件好事,学习遇到坑也未必不是一件好事。






  

                

0 0