zoukankan      html  css  js  c++  java
  • Objective-C 笔记一(HelloWorld)

     作为一个果粉And程序员,奔着对OC浓厚的兴趣,开始学习IOS。并以后也想从事IOS开发工作。并将自己的学习记录下来,俗话说的好,不会总结的程序猿,不是好程序员!

    Xcode可以在AppStore里下载

    打开Xcode 选择箭头所指:

    这里我们先选择 OS X 的Application 的Command Line Tool(控制台程序):

    点击Next:

    这里我们输入项目名称等一些信息,随便写也可以:

    点Next

    然后会让你选择存储项目的文件夹,这里我选的桌面,然后点Create:

    Ok,虽然还没做什么,但HelloWorld就搞定了。

    用快捷键command+R就可以运行了

    扩展名 含义 扩展名 含义
    .c C语言原文件 .mm Objective-C++源文件
    .cc、.cpp C++语言原文件 .pl Perl源文件
    .h 头文件 .o Object(编译后的)文件
    .m Objective-C源文件    

    #import <Foundation/Foundation.h>

      这是一个系统文件,也就是说,这个文件不是你创建的。#import 表示将该文件的信息导入或包含到程序中,就像在这里输入该文件的内容。要导入文件Foundation.h,因为它包含其他类和函数有关信息。

    int main (int argc,const char * argv[])

      main是一个特殊名称,用于准确地表示程序将在何处开始执行(应该和Java的main方法一样)。main之前的保留字int指定main返回的值类型为整型。

    @autoreleasepool{}

      花括号里的程序语句会在被称为“自动释放池(autoreleasepool)”的语境中执行。自动释放池的机制是:它使得应用在创建新对象时,系统能够有效的管理应用所使用的内存。

      NSLog是一个函数,它仅仅显示或记录其参数(或者参数列表)。但是之前它会显示该函数的执行日期和时间、程序名,以及其他...

      return 0;它表示要终止main的执行并发送回(或返回)一个状态值0,按照约定,0意味着程序的正常结束。任何非零值通常表示出现了一些问题。

    下面是以下实例:创建一个类取名Fraction

    #import <Foundation/Foundation.h>
    
    @interface Fraction : NSObject
    
    -(void) print;
    -(void) setNumerator :(int) n;
    -(void) setDenominator:(int) d;
    -(int) numberator;
    -(int) denominator;
    
    @end
    #import "Fraction.h"
    
    @implementation Fraction
    {
        int numberator;
        int denominator;
    }
    -(void) print{
        NSLog(@"%i/%i",numberator,denominator);
    }
    -(void) setNumerator:(int)n{
        numberator = n;
    }
    -(void) setDenominator:(int)d{
        denominator = d;
    }
    -(int) numberator
    {
        return numberator;
    }
    -(int) denominator
    {
        return denominator;
    }
    @end
    //----program 部分----
    #import <Foundation/Foundation.h>
    int main (int argc,const char * argv[])
    {
        @autoreleasepool {
            //创建一个分数实例 alloc分配空间  init初始化
            myFraction = [[Fraction alloc] init];
            //myFraction = [myFraction init];
            
            
            //Fraction *fact = [[Fraction alloc] init];
            
            //设置分数为1/3
            [myFraction setNumerator:1];
            [myFraction setDenominator:3];
            
            //        [fact setDenominator:3];
            //        [fact setNumerator:7];
            
            //使用打印方法显示分数
            NSLog(@"The value of myFraction is: %i/%i",[myFraction numberator],[myFraction denominator]);
            //[myFraction print];
            //
            //        NSLog(@"Second fraction is:");
            //        [fact print];
        }
        return 0;
    }

    以后会介绍%i(类似C#的占位符),是NSLog字符,用来取int值。

    代码是我练习写的,涉及了下一章节的类、对象和方法,因为有java和C#的基础,OC这些学起来都差不多,就是语法不一样。总之很喜欢OC!
  • 相关阅读:
    bootstrap1
    vim格式化代码实际上就是 "缩进代码", 命令是等号=
    thinkphp如何一次性的上传多个文件,在文件域中可以多选?
    linux下, 再次遇到使用thinkphp的模板标签时,报错used undefined function ThinkTemplatesimplexml_load_string() 是因为没有安装 php-xml包
    再谈 Mysql解决中文乱码
    碳膜电阻+1N5408二极管?
    华为发布业界首套物联网网络建设方法论
    页面错误提示
    Linux下Redis服务器安装配置
    svn 强制用户添加注释 和 允许用户修改注释
  • 原文地址:https://www.cnblogs.com/SeanAstin/p/4962658.html
Copyright © 2011-2022 走看看