IOS学习-02 OC--属性与函数

Posted danfengw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS学习-02 OC--属性与函数相关的知识,希望对你有一定的参考价值。

1、创建类和对象

(1)创建

new File->CocoaClass->

之后会生成一个.h 文件和一个 .m文件

(2)对象创建

  1. 导入h文件 import “xxx.h”
  2. 初始化推荐alloc 方式,方法调用方式为 [类名 方法名]

2、成员变量与属性

成员变量:类内使用成员变量
属性:类外使用属性,属性就是成员变量的外部接口
(1) 成员变量
成员变量声明方式如下:

因为成员变量不能被外部调用,强行调用会出现如下错误提示

想要属性可以被外部调用,需要对属性增加@public注解,进行修改,如下:

内部使用demo

(2)属性

3、函数

函数格式:
-+ (返回值)  方法名: (参数类型) 参数名


格式说明:
-+ 方法的类型(- 代表对象的方法,+代表类的方法
(返回值)
:(参数类型) 参数名
函数调用:
[ 对象 方法];
[ 类 方法];

Demo

People.h

@interface People : NSObject
/**
 * -、+ 方法的类型(- 代表对象的方法,+代表类的方法)
 */
-(void)report;
+(void)report1;
@end

NS_ASSUME_NONNULL_END

People.m

#import "People.h"

@implementation People
- (instancetype)init

    self = [super init];
    return self;


- (void)report
    NSLog(@"- report  输出");

+ (void)report1
    NSLog(@"+ report1  输出222");

@end

main.m

#import <Foundation/Foundation.h>
#import "People.h"

int main(int argc, const char * argv[]) 
    @autoreleasepool 
        People *p1 = [[People alloc] init]; // 推荐这种方式初始化
        [p1 report];
        [People report1];
    
    return 0;

其他
People.h

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

// 姓名、性别、年龄
@interface People : NSObject
/**
 * -、+ 方法的类型(- 代表对象的方法,+代表类的方法)
 */
-(void)report;
+(void)report1;
-(int)sum:(int) a andB :(int) b;
-(int)sum2:(int) a  :(int) b;
-(int):(int) a :(int)b;
@end

NS_ASSUME_NONNULL_END

People.m

#import "People.h"

@implementation People
- (instancetype)init

    self = [super init];
    return self;


- (void)report
    NSLog(@"- report  输出");

+ (void)report1
    NSLog(@"+ report1  输出222");


- (int)sum:(int)a andB:(int)b
    return a + b;

- (int)sum2:(int)a :(int)b

    return a + b;


-(int):(int) a :(int)b

    return a + b;


@end

main.m

 People *p1 = [[People alloc] init]; // 推荐这种方式初始化
        int sumResult=[p1 sum:1 andB:2];
        int sum2Result=[p1 sum2:3 :4];
        int result=[p1 :3 :4];
        NSLog(@"sumResult-%d",sumResult);
        NSLog(@"sum2Result-%d",sum2Result);
        NSLog(@"result-%d",result);

以上是关于IOS学习-02 OC--属性与函数的主要内容,如果未能解决你的问题,请参考以下文章

零基础如何学习ios开发?

iOS开发学习48 OC的lambda block

iOS开发学习48 OC的lambda block

IOS学习-02 OC--封装继承多态

OC学习小结之ios运行过程详解

ios学习之旅--oc对象的关系