懒惰是富有最大的敌人,再不前进,我们就out了。最近工作比较轻松,不是很忙。于是想晚上下班回家学习点新东西。看着苹果大军的一天天壮大,心里也是痒痒的。于是就想先系统的学习下Objective-C,为之后学习ios编程开发提前打好基础,做好准备。
  大家学习Objective-C的主要目的都是为了能更好的进行IOS项目的开发。那么,Objective-C的学习开发要什么条件呢?要么就是用Linx系统下编写Objective-C,然后下载sdk,设置好运行环境。具体操作网上应该有教程。还有最理想的状态就是在苹果系统上开发了。
  用苹果系统的话,一般都是用苹果电脑开发。但是苹果机子价格昂贵,让屌丝们都望尘莫及,无形中提高了门槛。但是,是不是PC机就不能进行苹果开发,就不能学习Objective-C了呢。当然不是,我们完全可以通过在windows系统中安装一个苹果系统的虚拟机(不过这个对电脑的配置要求比较高,一般至少要给虚拟机分配4G内存才能跑起来)。或者是格出盘来进行安装苹果系统,也就是我们说的黑苹果。
具体安装的方法网上一搜一大堆,这里就不介绍了。我用的是在电脑中安装虚拟机开发。因为之前安装过黑苹果,由于那个驱动要一个个找,太费劲,而且想用下windows系统还的关机进另一个系统,不是很方便。
  本系列博文是个人在一边学习《Objective-C基础教程》这本书,一边自己写代码,并将心得体会记录下来和大家一起分享。相信此类博文发表的已经很多了,由于也是初学者,很多讲的不对的地方,大家发现了请狠狠的批评斧正。写本系列的初衷就是记录下学习的历程,和大家一起学习和进步。
  好了,言归正传,下面就开始和我一起踏上Objective-C开发之旅吧。
 
前期准备
1. vmware10 安装 Mac OS X 10.9 虚拟机 
(打mac补丁,然后下载了虚拟机镜像包,用懒人安装法。直接替换新建的虚拟机文件,配置后搞定。)
 
2. 安装vmware tools,设置共享文件夹
(使得虚拟机和主机可以来回切换、设置分辨率,能共享文件。具体操作请教度娘)
 
3. 下载 xcode 5.1.1dmg 镜像。
(安装即可,前期准备就绪)
 
    新建项目尝试
1. 新建 command tools -> 选择类型选择 “Foundation”, 如图:
 
 
即可用命令行写objective - c代码。
默认有个main.m 文件,有个Hello world 的函数。可以尝试下如何调试,设置断点等。
下面贴上基本常用的快捷键,供参考:
 
基本类型的使用
布尔类型(BOOL,返回值为:YES和NO)
字符串类型(NSString,定义函数的时候要用 * 符号)
 
由于第一篇的内容比较简单,主要以配置环境和新建项目为主。好了,接下来就直接上代码。
 //
// main.m
// ch1
//
// Created by pcbeta on 14-11-14.
// Copyright (c) 2014年 julian. All rights reserved.
// #import <Foundation/Foundation.h> BOOL areIntsDifferent (int thing1, int thing2)
{
if (thing1 == thing2)
{
return (NO);
}
else
{
return (YES);
}
} //最基本的判断两个变量是否不同的函数。如果相同,返回NO;如果不同,返回YES NSString *boolString(BOOL yesNO)
{
if(yesNO == NO)
{
return (@"NO");
}
else
{
return (@"YES");
}
} //在函数前面要添加 “*”号。表示返回的内容是字符串。 int main(int argc, const char * argv[])
{ // @autoreleasepool {
//
// // insert code here...
// NSLog(@"Hello, World!");
//
// } BOOL areTheyDifferent;
int v_thing1 = ;
int v_thing2 = ;
//函数调用
areTheyDifferent = areIntsDifferent(v_thing1, v_thing2);
//输出结果
NSLog(@"Are %d and %d different? %@", v_thing1, v_thing2, boolString(areTheyDifferent)); //定义第三个变量
int v_thing3 = ;
//重新赋值
areTheyDifferent = areIntsDifferent(v_thing1, v_thing3);
//输出结果
NSLog(@"Are %d and %d different? %@", v_thing1, v_thing3, boolString(areTheyDifferent)); return ;
}

运行结果:

 

《objective-c基础教程》学习笔记 (一)—— 开发环境配置和简单类型输出的更多相关文章

  1. Django:学习笔记(1)——开发环境配置

    Django:学习笔记(1)——开发环境配置 Django的安装与配置 安装Django 首先,我们可以执行python -m django --version命令,查看是否已安装django. 如果 ...

  2. Android学习笔记1——开发环境配置

    一.JDK配置 Android是基于Java进行开发的,首先需要在电脑上配置JDK(Java Development Kit).在http://www.androiddevtools.cn/下载对应系 ...

  3. Django学习笔记 (一) 开发环境配置

    Django是一个开放源代码的Web应用框架,由Python写成. 采用了MVC的软件设计模式,即模型M,视图V和控制器C. 1. Python安装 下载地址: http://www.python.o ...

  4. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“p ...

  5. 《嵌入式Linux基础教程学习笔记一》

    常用书目下载地址:http://www.cnblogs.com/pengdonglin137/p/3688029.html 第二章 1.进程上下文和中断上下文(Page20) 当应用程序执行系统调用, ...

  6. Cocos2dx 学习笔记整理----开发环境搭建

    最近在学习cocos2dx,预备将学习过程整理成笔记. 需要的工具和环境整理一下: 使用的版本 cocos2dx目前已经出到了v3.1.1,学习和项目的话还是用2.2.3为宜,毕竟不大想做小白鼠,并且 ...

  7. Flink学习笔记:Flink开发环境搭建

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  8. Qt学习笔记-1 开发环境建立

    关于Qt在这里不做过多介绍,吸引我的地方是有几点: 1.用C++开发语言: 2.多平台(wWindows.MAC.Linux.Android等): 3.界面所见几所得.其他的可以百度上了解: 从本文开 ...

  9. Webpack4 学习笔记八 开发环境和生产环境配置

    webpack resolve属性 webpack 区分开发环境和生产环境 webpack resolve属性 该选项的作用是设置模块如何被解析. resolve.alias: 设置别名, 在vue中 ...

随机推荐

  1. __NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0xb000000000000003

    出现这个报错的原因是:拿数字与字符串进行对比了. 检查两边的数据格式是否一致 如果不一致,可以使用[nsstring stringwithformate:@"%d",xx]包装一下 ...

  2. unity中HideFlags的利用

    HideFlags主要用于控制物体在hierarchy,Inspector视图的显示销毁等的bit mask~ None:默认情况,正常可见对象~ API: HideInHierarchy:在Hier ...

  3. linux最大进程数、最大打开文件数

    ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制.本文将在后面的章节中详细说明 ulimit 的功能,使用以及它的影响 ...

  4. .Net机试题——编写一个BS架构的多层表结构的信息管理模块

      要求: 编写一个BS架构的多层表结构的信息管理模块,用户体验需要注意.包含错误处理,需要最终能完整的跑起来.页面可以不美化,但是整洁还是必须的.在不能完成详细功能需求的情况下优先保证基本功能. 1 ...

  5. 在AngularJS中实现一个延迟加载的Directive

    所谓的延迟加载通常是:直到用户交互时才加载.如何实现延迟加载呢? 需要搞清楚三个方面: 1.html元素的哪个属性需要延迟加载?2.需要对数据源的哪个字段进行延迟加载?3.通过什么事件来触发延迟加载? ...

  6. caffe solver 配置详解

    caffe solver通过协调网络前向推理和反向梯度传播来进行模型优化,并通过权重参数更新来改善网络损失求解最优算法,而solver学习的任务被划分为:监督优化和参数更新,生成损失并计算梯度.caf ...

  7. Mac下安装Mysql以及修改Mysql密码

    1.安装Mysql 安装有2种办法,一种是下载mysql安装文件,慢慢安装,另一种就是下载xmpp,里面自带mysql,就像是安装普通的mac软件一样,安装完毕,就有了mysql了. 方法一,官网下载 ...

  8. 应用程序默认安装在C盘后启动时提示权限不足想起的。。。

    最近不少经销商用户反映,在使用win 7的系统的电脑上安装我们的软件后,开启系统时提示权限不足,无法启动软件. 而在xp系统下则没有这个问题,原因在于我们将系统的默认安装路径选择在了C盘了,而win ...

  9. android中webView加载H5,JS不能调用问题的解决

    使用了html5 页面,使用webView加载后发现 超链接的锚点不可以用 为webView设置下面两句就好了: mWebView.getSettings().setDomStorageEnabled ...

  10. mysql 存储引擎对索引的支持

    一.首先给出mysql官方文档给出的不同存储引擎对索引的支持 从上面的图中可以得知,mysql 是支持hash索引的,但支持和不支持又和具体的存储引擎有关系.从图中看到InnoDB是支持Btree索引 ...