懒惰是富有最大的敌人,再不前进,我们就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. Android Studio 使用过程遇到的坑

    最近在尝试Android Studio打Jar的包,然而事实并不是想象的那么简单,so,写多个坑的解决,以备不时之需. 1.Error:Execution failed for task ':app: ...

  2. yum安装与源码编译安装实际使用区别

    总结一些我实际生产使用的区别: 1.yum安装不是说不行,都行,各有千秋. 2.yum安装目录不集中,但基本遵循Linux文件夹的作用去划分文件,比如配置文件通常在/etc下. 3.yum安装说的模块 ...

  3. delphi StringGrid 表格的复制粘贴

    //参考如下代码--uses Clipbrd; function StringGridSelectText(mStringGrid: TStringGrid): string;var  I, J: I ...

  4. Android开发中遇到的问题(一)——Android模拟器端口被占用问题的解决办法

    一.问题描述 今天在Eclipse中运行Android项目时遇到"The connection to adb is down, and a severe error has occured& ...

  5. mongodb 字符串查找匹配中$regex的用法

    官网地址:https://docs.mongodb.com/manual/reference/operator/query/regex/#regex-case-insensitive 举个例子来说:现 ...

  6. 全排列(Perm)的递归实现算法

    https://blog.csdn.net/zhi_jin/article/details/69267230 什么是全排列] 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个 ...

  7. IOS 数据存储之 FMDB 详解

    FMDB是用于进行数据存储的第三方的框架,它与SQLite与Core Data相比较,存在很多优势. FMDB是面向对象的,它以OC的方式封装了SQLite的C语言API,使用起来更加的方便,不需要过 ...

  8. Android典型界面设计——FragmentTabHost+Fragment实现底部tab切换

    一.问题描述 在上次博文中,我们使用RadioGroup+ViewPage+Fragmen实现了顶部滑动导航(查看文章:http://www.cnblogs.com/jerehedu/p/460759 ...

  9. Redis深入之对象

    Redis对象系统 前面介绍了Redis用到的全部主要数据结构,如简单动态字符串(SDS).双端链表.字典.压缩列表.整数集合等 Redis并没有直接使用这些数据结构来实现键值对数据库.而是基于这些数 ...

  10. Objc的底层并发API

    本文由webfrogs译自objc.io,原文作者Daniel Eggert.转载请注明出处! 小引 本篇英文原文所发布的站点objc.io是一个专门为iOS和OS X开发者提供的深入讨论技术的平台, ...