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

 更新时间:2024年02月04日 14:34:55   作者:lcannal  
这篇文章主要介绍了Objective-C方法的声明实现及调用方法,包括五参数的方法和单个参数的方法,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧

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方法的声明内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IOS 贝塞尔曲线(UIBezierPath)属性、方法整理

    IOS 贝塞尔曲线(UIBezierPath)属性、方法整理

    这篇文章主要介绍了IOS 贝塞尔曲线(UIBezierPath)属性、方法的相关资料,这里整理了贝塞尔 曲线的基础资料,对属性及相应的方法一一做了详解,需要的朋友可以参考下
    2016-11-11
  • iOS 点击图片放大效果的实现

    iOS 点击图片放大效果的实现

    本篇文章主要介绍了iOS 点击图片放大效果的实现,这种效果一般在微博,微信朋友圈中比较常见,有兴趣的可以了解一下。
    2017-01-01
  • iOS整个APP实现灰色主题的示例代码

    iOS整个APP实现灰色主题的示例代码

    这篇文章主要介绍了iOS整个APP实现灰色主题的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • iOS开发之路--微博OAuth授权_取得用户授权的accessToken

    iOS开发之路--微博OAuth授权_取得用户授权的accessToken

    本文是IOS开发之路系列文章的第二篇,讲诉的内容是如何使用微博OAuth授权,并付源码,然后详细讲解了取得用户授权的accessToken,希望对大家有所帮助
    2014-08-08
  • 实例分析IOS实现自动打包

    实例分析IOS实现自动打包

    本篇文章给大家分享了IOS实现自动打包的相关知识点,以及需要的操作内容做了分享,有需要的朋友可以学习下。
    2018-05-05
  • iOS像素对齐概念解析

    iOS像素对齐概念解析

    这篇文章主要为大家详细介绍了iOS像素对齐概念,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • iOS新浪微博、腾讯微博分享功能实例

    iOS新浪微博、腾讯微博分享功能实例

    这篇文章主要为大家详细介绍了iOS新浪微博、腾讯微博分享功能实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 浅谈iphone X的简单适配问题(推荐)

    浅谈iphone X的简单适配问题(推荐)

    这篇文章主要介绍了浅谈iphone X的简单适配(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • UIPageViewController实现的左右滑动界面

    UIPageViewController实现的左右滑动界面

    这篇文章主要为大家详细介绍了UIPageViewController实现的左右滑动界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • ios uicollectionview实现横向滚动

    ios uicollectionview实现横向滚动

    这篇文章主要为大家详细介绍了ios uicollectionview实现横向滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03

最新评论