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搭建简易购物车页面

    iOS搭建简易购物车页面

    这篇文章主要为大家详细介绍了iOS搭建简易购物车页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • iOS中的地理位置的获取及plist设置方法

    iOS中的地理位置的获取及plist设置方法

    下面小编就为大家分享一篇iOS中的地理位置的获取及plist设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • iOS中利用KeyChain保存用户信息的方法示例

    iOS中利用KeyChain保存用户信息的方法示例

    有用户就用用户名和密码,而现在的应用都少不了一个保存用户名和密码用于自动登录的功能,本文介绍使用iOS自带的Keychain方法保存用户名和密码信息的相关资料,需要的朋友可以参考参考借鉴,下面来一起看看吧。
    2017-06-06
  • iOS实现后台长时间运行

    iOS实现后台长时间运行

    这篇文章主要为大家详细介绍了iOS实现后台长时间运行,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • iOS 实现类似QQ分组样式的两种方式

    iOS 实现类似QQ分组样式的两种方式

    这篇文章主要介绍了iOS 实现类似QQ分组样式的两种方式,思路很简单,对模型数据操作或则控制界面显示,需要的朋友可以参考下
    2017-07-07
  • 轻松搞定iOS本地消息推送

    轻松搞定iOS本地消息推送

    这篇文章主要帮助大家轻松搞定iOS本地消息推送,iOS中使用本地通知为你的APP添加提示用户功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • IOS中(Xcode) DEBUG模式(RELEASE模式)控制NSLog输出,NSLog输出方式

    IOS中(Xcode) DEBUG模式(RELEASE模式)控制NSLog输出,NSLog输出方式

    这篇文章主要介绍了IOS中(Xcode) DEBUG模式(RELEASE模式)控制NSLog输出,NSLog输出方式的相关资料,需要的朋友可以参考下
    2016-11-11
  • iOS中的UIKeyboard键盘视图使用方法小结

    iOS中的UIKeyboard键盘视图使用方法小结

    键盘视图我们平时在做App的时候都要调用得到,这里我们就来整理一下iOS中的UIKeyboard键盘视图使用方法小结,需要的朋友可以参考下
    2016-06-06
  • iOS开发之触摸事件以及手势

    iOS开发之触摸事件以及手势

    这篇文章主要为大家详细介绍了iOS开发之触摸事件以及手势的相关资料,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • iOS利用Runtime实现友盟页面数据统计的功能示例

    iOS利用Runtime实现友盟页面数据统计的功能示例

    这篇文章主要给大家介绍了关于iOS利用Runtime实现友盟页面数据统计功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01

最新评论