IOS之学习笔记四(类的实现和对象和id)

简介: IOS之学习笔记四(类的实现和对象和id)

1、简单构建类和对象和id使用的测试代码如下

Person.h


#ifndef Person_h

#define Person_h

#import <Foundation/Foundation.h>

@interface Person : NSObject

{

   NSString* _name;

   int _age;

}

-(void)setName:(NSString *)name addAge:(int)age;

-(void)say:(NSString *)content;

-(NSString *)info;

+(void)foo;

@end

#endif /* Person_h */

Person.m


#import "Person.h"

@implementation Person

{

   int _testAdd;

}

-(void)setName:(NSString *)name addAge:(int)age {

   _name = name;

   _age = age;

}

-(void)say:(NSString *)content

{

   NSLog(@"content is %@", content);

}

-(NSString *)info

{

   [self test];

   return [NSString stringWithFormat:@"the persion is %@, and age is %d", _name, _age];

}

-(void)test

{

   NSLog(@"this is test method");

}

+(void)foo

{

   NSLog(@"this is foo method");

}

@end

main.m

#import "Person.h"

int main(int argc, char * argv[]) {

   @autoreleasepool {

       Person *person = [[Person alloc] init];

       [person setName:@"chenyu" addAge:26];

       NSString *info = [person info];

       NSLog(@"%@", info);

       [person say:@"chenyu"];

       [Person foo];

       //id类型可以代表所有对象的类型,id类型执行方法会动态绑定

       //id p不是id *p;

       id p = [[Person alloc] init];

       [p setName:@"chenyu" addAge:26];

       NSString *in = [p info];

       NSLog(@"%@", in);

       [p say:@"chenyu"];

   }

}


2、运行结果

this is test method

the persion is chenyu, and age is 26

content is chenyu

this is foo method

this is test method

the persion is chenyu, and age is 26

content is chenyu

 

相关文章
|
2月前
|
Swift iOS开发
6-7|IOS如何定义一个类
6-7|IOS如何定义一个类
|
3月前
|
存储 iOS开发
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类对_lock的加锁和解锁操作如何解决
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类对_lock的加锁和解锁操作如何解决
|
3月前
|
存储 安全 iOS开发
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类中对_lock的使用是否正确如何解决
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类中对_lock的使用是否正确如何解决
|
机器学习/深度学习 API iOS开发
iOS MachineLearning 系列(17)—— 几个常用的对象识别 CoreML 模型
上一篇文章中,我们介绍了几个官方的图片分类的模型,图片分类模型的应用场景在于将图片中最主要的事物进行识别,在已有的词库中找到最可能得事物。而对象识别则要更高级一些。再之前的文章,我们介绍过可以使用官方提供的API来进行矩形识别,文本识别,二维码识别以及人脸识别等,这类识别功能的特点是我们不仅可以将图片中的物体位置和尺寸分析出来,还可以对其进行类别的分类。
351 0
|
存储 物联网 数据安全/隐私保护
iOS开发证书、bundle ID、App ID、描述文件、p12文件,及企业证书打包发布详述
iOS开发证书、bundle ID、App ID、描述文件、p12文件,及企业证书打包发布详述
|
存储 物联网 编译器
iOS开发证书、bundle ID、App ID、描述文件、p12文件,及企业证书打包发布详述
此操作手册用于提供客户进行企业发布299美金的账户发布非AppStore的app程序的CSR证书,distribution证书以及p12证书导出用。
|
Android开发 iOS开发
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
412 0
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
|
存储 安全 iOS开发
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
473 0
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
|
Swift 数据安全/隐私保护 iOS开发
iOS开发 - swift通过Alamofire实现https通信
iOS开发 - swift通过Alamofire实现https通信
429 0
iOS开发 - swift通过Alamofire实现https通信
|
开发者 iOS开发
iOS开发 - 用AFNetworking实现https单向验证,双向验证
iOS开发 - 用AFNetworking实现https单向验证,双向验证
420 0
iOS开发 - 用AFNetworking实现https单向验证,双向验证