Objective-C KVC

Objective-C KVC

//
//  Info.h
//  cts
//
//  Created by jiangzhihao on 2018/11/9.
//  Copyright © 2018年 蒋智昊. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface Info : NSObject
{
    
}

// 括号外面可以申明属性和方法
// 用@property申明属性
// 说明:属性会自动合成setter和getter方法
@property int msgcode;

// 方法:方法分为对象方法和类方法
// 对象方法以-开头,只有这个类中的某个具体对象才能调用
// 类方法以+开头,类方法只能用类去调用

// 声明一个对象方法
- (NSString *)getAction:(NSString *)code;

// 声明一个类方法
+ (void)setAction;

@end



NS_ASSUME_NONNULL_END
//
//  Info.m
//  cts
//
//  Created by jiangzhihao on 2018/11/9.
//  Copyright © 2018年 蒋智昊. All rights reserved.
//

#import "Info.h"

@implementation Info


// 声明一个对象方法
- (NSString *)getAction:(NSString *)code
{
    NSString *str = [NSString stringWithFormat:@"%@%@", @"hi", code];
    return str;
}

// 声明一个类方法
+ (void)setAction
{
    NSLog(@"action");
}

@end
// 调用类方法测试结果
   [Info setAction];
   // 创建对象info
   Info *info =[[Info alloc]init];
   NSString *say = [info getAction:@"0001"];
   NSLog(@"%@", say);
   
   // VC (Key Value Coding) Objective-C 允许以字符串形式间接操作对象的属性
   // 这种方式的全称是 Key Value Coding (简称KVC),即键值编码
   // 通过KVC方式设置属性
   Info *inf = [[Info alloc] init];
   [inf setValue:@1000 forKey:@"msgcode"];
   // 通过KVC方式读取属性
   NSString *msgcode = [inf valueForKey:@"msgcode"];
   NSLog(@"%@", msgcode);

 

发表回复

您的电子邮箱地址不会被公开。