欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Objective-C方法的声明实现及调用方法,

来源: 开发者 投稿于  被查看 17631 次 评论:80

Objective-C方法的声明实现及调用方法,


目录
  • 1.无参数的方法
    • 1)声明
    • 2)实现
    • 3)调用
  • 2.单个参数的方法
    • 1)声明
    • 2)实现
    • 3)调用
  • 3.多个参数的方法
    • 1)声明
    • 2)实现
    • 3)调用
  • Objective-C中的“description“方法

    1.无参数的方法

    1)声明

    a.位置:在@interface括弧的外面

    b.语法:

    - (返回值类型)方法名称;

    @interface Person : NSObject
    -(void) run;
    @end

    2)实现

    a.位置:在@implementation中实现

    b.语法:加大括弧将方法实现的代码写在大括孤之中

    @implementation Person;
    -(void)run{
        NSLog(@"我在跑步");
    }
    @end

    3)调用

    a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象

    b.语法:

    [对象名 方法名];

    int main(int argc, const char * argv[]) {
        Person *p = [Person new];
        [p run];
    }

    2.单个参数的方法

    1)声明

    a.位置:在@interface括弧的外面

    b.语法:

    -(返回值类型)方法名称:(参数类型)形参名称;

    @interface Person : NSObject
    -(void)eat:(NSString *)foodName;
    @end

    2)实现

    a.位置:在@implementation中实现

    b.语法:加大括弧将方法实现的代码写在大括孤之中

    @implementation Person;
    -(void)eat:(NSString *)foodName{
        NSLog(@"%@好美味!",foodName);
    }
    @end

    3)调用

    a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象

    b.语法:

    [对象名 方法名:实参];

    int main(int argc, const char * argv[]) {
        Person *p = [Person new];
        [p eat:@"烤鱼"];
    }

    3.多个参数的方法

    1)声明

    a.位置:在@interface括弧的外面

    b.语法:

    -(返回值类型)方法名称:(参数类型)形参名称 :(参数类型)形参名称;

    @interface Person : NSObject
    -(int)sum:(int)num1 :(int)num2;
    @end

    2)实现

    a.位置:在@implementation中实现

    b.语法:加大括弧将方法实现的代码写在大括孤之中

    @implementation Person;
    -(int)sum:(int)num1 :(int)num2{
        int num = num1+num2;
        return num;
    }
    @end

    3)调用

    a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象

    b.语法:

    [对象名 方法名:实参:实参];

    int main(int argc, const char * argv[]) {
        Person *p = [Person new];
        NSLog(@"sum=%d",[p sum:1 :1]);
    }

    运行结果

    补充:

    Objective-C中的“description“方法

    在Objective-C中,每个对象都继承自NSObject类,在NSObject类中定义了一个名为`description`的方法。该方法用于返回一个字符串,描述对象的内容。默认情况下,`description`方法返回的字符串是该对象的类名和其在内存中的地址。

    下面是一个重写`description`方法的示例代码:

    @interface MyClass : NSObject
    @property (nonatomic, strong) NSString *name;
    @property (nonatomic) NSInteger age;
    @end
    @implementation MyClass
    - (NSString *)description {
        return [NSString stringWithFormat:@"MyClass: Name=%@, Age=%ld", self.name, (long)self.age];
    }
    @end

    定义了一个叫做`MyClass`的类,它包含了`name`和`age`两个属性

    重写了`description`方法,使用`NSString`的`stringWithFormat:`方法

    将`name`和`age`的值拼接到一个描述字符串中,并返回

    MyClass *myObject = [[MyClass alloc] init];
    myObject.name = @"John";
    myObject.age = 25;
    NSLog(@"%@", myObject); // 输出: MyClass: Name=John, Age=25

    通过重写`description`方法,你可以为自定义的类提供更有意义的描述信息,方便在日志输出和调试过程中使用。

    需要注意的是,为了在控制台上输出一个对象的`description`内容,你可以使用`NSLog`方法,并将对象作为参数传递给`%@`占位符

    到此这篇关于Objective-C方法的声明实现及调用的文章就介绍到这了,更多相关Objective-C方法的声明内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

    您可能感兴趣的文章:
    • 详解Objective-C中的语法糖@{}究竟是什么
    • Objective-C中block循环引用问题详解
    • 如何通过Objective-C的枚举学习iOS中位操作.md详解
    • Objective-C中关于实例所占内存的大小详解
    • Objective-C与Swift之间的互相调用和跳转
    • Objective-C中的语法糖示例详解
    • Objective-C限制函数调用的频率详解
    • Objective-C中的重载和重写详解

    用户评论