• 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

  • 相关阅读:
    SendCloud邮件中为什么会显示代发
    话说TP框架里的Vendor这目录是干什么用的啊?类库扩展thinkphp3.1版本
    中国天气网-天气预报接口api
    微信公众号tp3.2放进Model无效,几种实例化的方法试过,还是提示无法提供服务
    dede标签:定义文件夹
    DEDECMS中的几个常见的自定义常量DEDEMEMBER等位置
    dede添加会员功能听语音
    ExecuteNonQuery()返回值
    第十七节:织梦做自定义表单在线预约的方法
    MONGODB的内部构造 FROM 《MONGODB THE DEFINITIVE GUIDE》
  • 原文地址:https://www.cnblogs.com/super-lucky/p/ios_study.html
Copyright © 2020-2023  润新知