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

 更新时间:2024年02月04日 14:34:55   作者:lcannal  
这篇文章主要介绍了Objective-C方法的声明实现及调用方法,包括五参数的方法和单个参数的方法,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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 Ble蓝牙开发实现方法

    IOS Ble蓝牙开发实现方法

    这篇文章主要为大家详细介绍了IOS Ble蓝牙开发的实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • iOS移动端软键盘弹起空白和滚动穿透问题解决方案

    iOS移动端软键盘弹起空白和滚动穿透问题解决方案

    这篇文章主要为大家介绍了iOS移动端软键盘弹起空白和滚动穿透问题解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Observing?KVO?Key-Value基本使用原理示例详解

    Observing?KVO?Key-Value基本使用原理示例详解

    这篇文章主要为大家介绍了Observing?KVO?Key-Value基本使用原理示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Unity移动端的复制要这么写示例代码

    Unity移动端的复制要这么写示例代码

    这篇文章主要给大家介绍了关于Unity移动端的复制的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-08-08
  • iOS如何获取设备型号的最新方法总结

    iOS如何获取设备型号的最新方法总结

    在开发中,我们经常需要获取设备的型号以进行数据统计或者做不同的适配。这篇文章主要给大家介绍了关于iOS如何获取设备型号的最新方法,需要的朋友可以参考下
    2018-11-11
  • Objective-C中的语法糖示例详解

    Objective-C中的语法糖示例详解

    开发过程中我特别喜欢用语法糖,原因很简单,懒得看到一堆长长的代码,但语法糖简单却不那么简单,下面这篇文章主要给大家介绍了关于Objective-C中语法糖的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2018-01-01
  • 右滑返回手势和UIScrollView中手势冲突的解决方法

    右滑返回手势和UIScrollView中手势冲突的解决方法

    这篇文章主要为大家详细介绍了右滑返回手势和UIScrollView中手势冲突的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 基于iOS Realm数据库的使用实例详解

    基于iOS Realm数据库的使用实例详解

    下面小编就为大家分享一篇基于iOS Realm数据库的使用实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 解决iOS13 无法获取WiFi名称(SSID)问题

    解决iOS13 无法获取WiFi名称(SSID)问题

    这篇文章主要介绍了解决iOS13 无法获取WiFi名称(SSID)问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • iOS开发中使用NSURLConnection类处理网络请求的方法

    iOS开发中使用NSURLConnection类处理网络请求的方法

    这篇文章主要介绍了iOS开发中使用NSURLConnection类处理网络请求的方法,代码基于传统的Objective-C,需要的朋友可以参考下
    2015-12-12

最新评论

?


http://www.vxiaotou.com