zoukankan      html  css  js  c++  java
  • Objective-C路成魔【2-Objective-C 规划】

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

    假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 

    我要捐赠: 点击捐赠

    Cocos2d-X源代码下载:点我传送


    编译执行Objective-C程序有两种主要方式:

    1、Xcode集成开发环境。

    2、使用GNU Objective-C编译器的Terminal命令行窗体。


    使用Xcode

    XCODE和iOS SDK下载地址:

    developer.apple.com

    当然也能够从App Store里面下载。

    当然,你须要创建一个开发人员账号,只是临时是不须要的。


    Objective-C源文件使用.m结尾。.m也就是扩展名。

    Objective-C++是C++的扩展。类似于Objective-C是C的扩展。


    A、使用Xcode创建新程序的操作步骤:

    1、启动Xcode应用程序。

    2、假设开发新项目。选择File->New->New Project...,或者在起始页选择Create a New Xcode Project。

    3、选择应用程序类型,选择Application->Command Line Tool(刚開始学习。就不搞什么图形界面了先。这个和C语言差点儿相同),然后Next。

    4、为应用程序取一个名称,而且将Type设置为Foundation。确定Use Automatic Reference Counting复选框已经选中(这个是为了使用新的特性,即ARC),单击Next。

    5、选择项目文件夹的名称,还能够选择在哪个文件夹中存储项目文件,然后点击Create。

    6、在左上窗格中会看到文件main.m(在与项目名同名的目录下能够找到),突出显示该文件(就是单击那个文件)。在该窗体以下的编辑窗体中输入或编辑你的程序。

    7、在工具栏中,选择位于View下方中间的图标,将显示调试区域。在这个区域会将显示输出结果。

    l

    8、在工具栏中点击Runbutton。或者从Product菜单中选择Run,编译并执行程序。

    如图示:






    B、使用Terminal命令行敲代码的操作步骤:

    1、打开Terminal。

    2、选择你的工作(project)文件夹。假设没有:

    $mkdir test

    进入工作文件夹

    $cd test

    新建并编辑,

    $vi main.m

    VI的使用,请參考下面链接:

    http://en.wikipedia.org/wiki/Vi


    输入你的第一个Program:

    // My first Program
    #import <Foundation/Foundation.h>
     
    int main(int argc, char *argv[]){
        @autoreleasepool{
            NSLog(@"Hello World!");
        }
      return 0;
    }
    
    

    3、编译,编译链接器使用clang的LLVM Clang Objective-C。这个和Linux下的GCC使用差点儿相同。大家不会的话,能够看看GCC那套编译。

    $clang -fobjc-arc -framework Foundation main.m -o test

    4、执行。这个和Linux是一样的编译的可执行文件前面加上“./”。也能够把project文件夹加到PATH中(这样就能够不要"./"),一般不是必需。

    $./test

    5、输出结果就会显示在命令行中。

    须要注意的一点是:Objective-C是大写和小写敏感的。也就是说区分大写和小写。所以写代码的时候注意这点。

    具体解释:

    a、凝视:使用//或者/* ... */

    b、#import:告诉编译器找到并处理名为Foundation.h文件, 这是一个系统文件;
    #import表示将该文件的信息导入到程序中

    在C和C++中採用 #include指令, 在本例中也能够採用#include。 

    而#import是#include改进指令。 它能够防止头文件反复包括问题;

    c、int main(int argc, const char * argv[]) 这种方法是程序的入口 。 

    參数argc-參数数目 , argv-參数值

    d、@autoreleasepool自己主动释放池:它使得应用在创建新对象时。系统可以有效地管理应用所使用的内存。

    或者使用以下的方式:

    // First program example
    #import <Foundation/Foundation.h>
    int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool =
    [[NSAutoreleasePool alloc] init];
    // insert code here...
    NSLog(@"Hello World!");
    [pool drain];
    return 0;
    }

    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]
    语句是创建一个自己主动释放内存池对象, 使用它来维护内存释放和回收。 

    当中alloc方法是分配内存。 init方法是初始化类, 相当于C++或Java的构造方法作用。

    [pool drain]语句是用来释放内存池, 它将纳入到这个内存池中管理的对象内存所有释放掉, 

    关于NSAutoreleasePool问题我们将在内存管理部分具体讨论



    e:NSLog:oc库函数,只显示或记录其參数,还能显示变量。使用%i。

    NSLog是Foundation框架提供的Objective-C日志输出函数
    与标准C中的printf函数类似, 并能够格式化输出。 
    @“Hello, World!”, 常量NSString对象,是代表NSString字符串对象, 它是Objective-C经常使用的字符串类。 


    f:retrun 0:程序正常退出。

    它表示要终止main的运行, 普通情况下0代表正常结束, 非0代表异常情况。 

    这是沿用了C语言的习惯


    Objective-C代码的文件扩展名


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    DotLucene 之 Bugs 小记[转]
    商业搜索引擎都需要哪些技术
    开源搜索引擎资源
    关于笔记本的CPU和显卡性能比较[转]
    上传图片方法大全 [网摘]
    Lucene 中文分词的 highlight 显示
    JS调用服务器端方法
    在线免费图书馆
    用dotLucene为数据库内容建立索引
    mybatis 数据库.xml中方法参考
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4906898.html
Copyright © 2011-2022 走看看