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

  • 相关阅读:
    如何使用Java计算货币/钱~(How to calculate monetary values in Java)
    BigDecimal类
    状态码定义
    常见服务器返回状态码(Status Codes)
    2020-3-26学习地图
    ReentrantLock类
    HashSet类
    Vector类
    课程总结
    第十四周课程总结&实验报告
  • 原文地址:https://www.cnblogs.com/super-lucky/p/ios_study.html
Copyright © 2011-2022 走看看