作为一名有8年编程经验的资历不浅的程序员,学习Object-C和iOS,感觉效率有点低,至少和学习Android比起来,慢的不是一点点。

主要有以下3个原因:

1.Object-C,和C系列的语言(C、Java、C++、C#)语法差别有点打,最大的区别是“函数调用的方式”。

感觉很脑残啊~[object method]; 写代码,非常不连贯。没有object.method()爽啊~

2.MacBook Air的键盘有点小,很多建敲起来不够准确。

3.键盘的布局和按键,和WIndows系统的很不同啊。

复制、粘贴、滚动,快捷键都不太一样。

delete竟然不是向后删除。

学习Object-C最大的难度,不是编程语言和框架,而是习惯(编程语言、键盘、操作系统)的转变,以及思维的转变。

就打了这么几个字,感觉特别费劲,可能是Mac玩的还是不够多吧~

还是在Window下,写Java代码爽啊。

Object-C学习比较费劲的3点原因的更多相关文章

  1. Object C学习笔记24-关键字总结

    学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1.  #import #import <> 从syste ...

  2. Object C学习笔记22-#define 用法

    上一篇讲到了typedef 关键字的使用,可以参考文章 Object C 学习笔记--typedef用法 .而在c中还有另外一个很重要的关键字#define. 一. #define 简介 在C中利用预 ...

  3. Object C学习笔记21-typedef用法

    在上一章的学习过程中遇到了一个关键字typedef,这个关键字是C语言中的关键字,因为Object C是C的扩展同样也是支持typedef的. 一. 基本作用 typedef是C中的关键字,它的主要作 ...

  4. Object C学习笔记18-SEL,@ selector,Class,@class

    本章是对上一章<<Object C学习笔记17-动态判断和选择器>>的一点补充,所以比较简单点. 一. SEL 类型 在上一篇介绍了几个方法,都只是介绍了其使用方式但是没有具体 ...

  5. Object C学习笔记17-动态判断和选择器

    当时学习Object C的时被人鄙视了一顿,说使用.NET的思想来学Object C就是狗屎:不过也挺感谢这位仁兄的,这让我学习的时候更加的谨慎.今天的学习笔记主要记录Object C中的动态类型相关 ...

  6. Object C学习笔记10-静态方法和静态属性

    在.NET中我们静态使用的关键字static有着举足轻重的作用,static 方法可以不用实例化类实例就可以直接调用,static 属性也是如此.在Object C中也存在static关键字,今天的学 ...

  7. Object C学习笔记8-字符串NSString之二

    5. 字符串是否包含 hasPrefix 判断字符串是否以某个字符串开头 hasSuffix 判断字符串是否以某个字符串结尾 NSString *str1=@"Object C学习正在进行中 ...

  8. Object C学习笔记24-关键字总结(转)

    学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1.  #import #import <> 从syste ...

  9. 用Object.prototype.toString.call(obj)检测对象类型原因分析

    用Object.prototype.toString.call(obj)检测对象类型原因分析  更新时间:2018年10月11日 08:46:33   投稿:laozhang    我要评论   在本 ...

随机推荐

  1. Jetty初探

    一.在jetty中部署web应用 Jetty 和 Tomcat 一样都是一个web server的container, 用户可以在里面 deploy 自己的 war 包,然后启动 Jetty, 进而通 ...

  2. Vue学习之路第九篇:双向数据绑定 v-model指令

    1.学习准备: ①:双向数据绑定可以简单理解为:后端定义的数据改变,前端页面展示的时候会自动改变,数据通过前端页面修改的时候,后端定义的数据内容也会随之改变. ②:指令中只有v-model可以实现双向 ...

  3. C#RichTextBox复制并跳转指定行

    方法一: rTxt.Focus(); //设置文本框中选定的文本起始点 为 指定行数第一个字符的索引 rTxt.SelectionStart = rTxt.GetFirstCharIndexFromL ...

  4. [AtCoder Regular Contest 083] Bichrome Tree

    树形DP. 每个点有两个属性:黑色点的权值和,白色点权值和,一个知道另一个也一定知道. 因为只要子树的和它相等的点得权值和不超过x[u],u点的权值总能将其补齐. 设计状态f[u]表示以u为根的子树, ...

  5. js sort方法根据数组中对象的某一个属性值进行排序(实用方法)

    js sort方法根据数组中对象的某一个属性值进行排序 sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同. var arr = [ {nam ...

  6. 变量命名规范及str类型

    变量命名规范: 1.单词之间用_分开 add_num() 2.全局变量,大写 PI,NUMBER() 3.实例变量,以_开头 _example() 4.私有实例变量 __private() 5.普通函 ...

  7. pytorch 3 activation 激活函数

    2.3 Activation Function import torch import torch.nn.functional as F from torch.autograd import Vari ...

  8. dubbo知识点理解

    1.分布式服务架构关键在于:用于提高业务复用及整合的 分布式服务框架(RPC) 是关键.注册中心是关键,提供业务复用和整合. 2.dubbo在消费方,获取服务列表后提供软负载均衡.dubbo在消费方提 ...

  9. Qt之二维码扫描

    简述 二维码(QR Code)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的.是所有信息数据的一把钥匙.应用十分广泛,如:产品防伪/溯源.广告推送.网站链接. ...

  10. cocos2d-x 2.2.2 在lua中更换CCSprite的图片

    废话不多说,直接上代码 --lua --获取场景 local scene= CCDirector:sharedDirector():getRunningScene() --创建精灵 local tes ...