zoukankan      html  css  js  c++  java
  • ios学习笔记(一)之Object-C

    一:Objective-C语言基础

    二:Objective-C类与继承和协议

    一:Objective-C语言基础:

    1.1)#import 包含头文件  与#include 作用相同

    1.2)Object-c类包含两大块代码

             1、  接口MyClass.h

                    @interface MyClass

                    @end

            2、  实现MyClass.m

                   @implementation MyClass

                  @end

     1.3)没有在@interface中声明的方法依然可以在@implementation中调用。这是由于object-c是动态语言一般情况下,都会提供h文件,所以在m文件中写h文件中没有的方法,别人是不会知道的,这相当于将方法变相的私有化。类名第一个字母大写。

     1.4)标准的类定义格式 :

    MyClass.h
    
    @ interface MyClass:NSObject{
    
    //实例变量
    
    }
    
    - (NSString*) sayhello;
    
    @end
    
    MyClass.m
    
    @implementation MyClass
    
    -(NSString*) sayhello{
    
    return @”Hello!”;
    
    }
    
    @end

     1.5)分配内存与设置初始值

             MyClass *myclass=[[MyClass alloc]init];

             所有的object-c对象变量都是指针类型的,数据类型的右边要加一个星号。

    1.6)消息和方法:

            +或者- (返回类型)方法名: (参数类型)参数名;

            类方法(+):通过发一个消息给类本身来调用

                        1、  工厂方法:给类分配实例的方法

                        2、  全局公用方法:可以被其他类调用,不需要实例化

           实例方法(-):通过发一个消息给类的实例来调用

                       -  (void) setNumberator: (int) n;

    1.7)调用方法:

             [实例  方法];---------实例方法

             [类名  方法];---------类方法

            也可以理解为[接收方  消息];

            变量 = [实例  方法];--------一个方法可以返回值,保存在变量中

            [接收方  名字1:参数1  名字2:参数2  名字3:参数3 …];

      1.8)可以使用”.”来调用一个变量实例

            a.num=3;<=>[a  num:3];

      1.9)nil(空)与C语言的NULL相同

               Nil定义一个指向空的类(是class,不是对象)

     1.10)数据类型:

             1 char、int、float、double、long、unsigned short、const、static等

             2 字符串:NSString

                字符串常量 @” ”

            3结构体struct、指针

            4 id类型:可以存储任何类型的对象

               typedef struct objc_object{

                  Class isa;

              }*id;

             Id是指向struct objc_object的一个指针,指向任何一个继承了NSObject类的对象,id是一个指针,在使用时不需要加星号。

             Id取代int类型成为默认的数据结构。

          5 BOOL  YES/NO 相当于C中的bool类型(truefalse

          6 SEL  选择器:传递函数的方法,与c语言的函数指针、c++的函数引用相似。

             - (void)print;
    
    
             SEL sel = @selector(print);
    
             if([obj respondsToSelector:sel]){//判断该对象是否有相应的方法
    
                  [obj performSelector:sel withObject:nil];//调用选择器方法
    
             } 

          7 Class(类)被定义俄日一个指向struct objc_class的指针。

          8 数组,在object-c中有NSArray类,因此很少用到数组。

    1.11)操作符和控制语句

            Object-C使用C语言中的运算符。

            判断语句: if...else if...else/switch

           循环语句 :while/for/do...while

    1.12)输出函数:NSLog

             输入函数:scanf

  • 相关阅读:
    Windows 8的语音识别
    硬件驱动程序的知识点滴
    怎么将一张100KB以上大小的电子图片压缩成30KB以内
    Hadoop概念学习系列之Hadoop新手学习指导之入门需知(二十)
    Hadoop概念学习系列之Hadoop、Spark学习路线(很值得推荐)(十八)
    研究生,别再玩了,你玩不起!
    redis源代码解读之内存管理————zmalloc文件
    线段树之入门篇
    C#托付和事件
    dlmalloc 2.8.6 源代码具体解释(6)
  • 原文地址:https://www.cnblogs.com/super-lucky/p/ios_study.html
Copyright © 2011-2022 走看看