IOS之学习笔记九(对象的初始化)

简介: IOS之学习笔记九(对象的初始化)

1、oc对象的初始化

[[** alloc] init]  分2步,alloc是开辟内存,分配在堆区,这里java和C++都一样,init是进行初始化。

[** new]和[[** alloc] init]等效,习惯用前面的。


2、对象的初始化常用方法demo

FKCard.h

#ifndef KFCard_h

#define KFCard_h

@interface KFCard : NSObject

@property (nonatomic, copy) NSString *brand;

@property (nonatomic, copy) NSString *model;

@property (nonatomic, copy) NSString *color;

-(id)initWithBrand:(NSString *)brand model:(NSString *) mode;

-(id)initWithBrand:(NSString *)brand model:(NSString *) mode color:(NSString *)color;

-(void)show;

@end

#endif /* KFCard_h */


FKCard.m

#import <Foundation/Foundation.h>

#import "KFCard.h"

@implementation KFCard

-(void)show

{

   NSLog(@"car brand is %@, and model is %@, and color is %@", self.brand, self.model, self.color);

}

-(id)init

{

   if (self = [super init])

   {

       self.brand = @"aodi";

       self.model = @"Q5";

       self.color = @"yellow";

   }

   return self;

}

-(id)initWithBrand:(NSString *)brand model:(NSString *) mode

{

   if (self = [super init])

   {

       self.brand = brand;

       self.model = mode;

       self.color = @"red";

   }

   return self;

}

-(id)initWithBrand:(NSString *)brand model:(NSString *) mode color:(NSString *)color

{

   if (self = [self initWithBrand:brand model:mode])

   {

      self.color = color;

   }

   return self;

}

@end


main.m

#import "KFCard.h"

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

   @autoreleasepool {

       KFCard *car = [KFCard new];

       [car show];

       KFCard *car1 = [[KFCard alloc] initWithBrand:@"奔驰" model:@"S200"];

       [car1 show];

       KFCard *car2 = [[KFCard alloc] initWithBrand:@"奔驰" model:@"S200" color:@"black"];

       [car2 show];

   }

}

3、运行结果如下

car brand is aodi, and model is Q5, and color is yellow

car brand is 奔驰, and model is S200, and color is red

car brand is 奔驰, and model is S200, and color is black


相关文章
|
7月前
|
Web App开发 小程序 Android开发
mPaaS小程序问题之接入iOS后阿里百川初始化报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
126 1
|
机器学习/深度学习 API iOS开发
iOS MachineLearning 系列(17)—— 几个常用的对象识别 CoreML 模型
上一篇文章中,我们介绍了几个官方的图片分类的模型,图片分类模型的应用场景在于将图片中最主要的事物进行识别,在已有的词库中找到最可能得事物。而对象识别则要更高级一些。再之前的文章,我们介绍过可以使用官方提供的API来进行矩形识别,文本识别,二维码识别以及人脸识别等,这类识别功能的特点是我们不仅可以将图片中的物体位置和尺寸分析出来,还可以对其进行类别的分类。
380 0
|
自然语言处理 开发工具 Swift
移动用户反馈-iOS接入指南 | 学习笔记
快速学习移动用户反馈-iOS接入指南
移动用户反馈-iOS接入指南 | 学习笔记
|
C语言 C++ iOS开发
iOS中C++静态全局变量的动态初始化时序
一个由于C++初始化失败导致Realm初始化失败的Crash
197 1
|
小程序 前端开发 Shell
接入 mPaaS 小程序并实现启动 iOS 版| 学习笔记
快速学习接入 mPaaS 小程序并实现启动 iOS 版。
接入 mPaaS 小程序并实现启动 iOS 版| 学习笔记
|
移动开发 小程序 前端开发
iOS 端自定义开发(二)| 学习笔记
快速学习 iOS 端自定义开发。
iOS 端自定义开发(二)| 学习笔记
|
移动开发 JSON 小程序
iOS 端自定义开发(一)| 学习笔记
快速学习 iOS 端自定义开发。
iOS 端自定义开发(一)| 学习笔记
|
小程序 IDE API
iOS 端预览和调试小程序| 学习笔记
快速学习 iOS 端预览和调试小程序。
iOS 端预览和调试小程序| 学习笔记
|
小程序 Shell 开发工具
接入 mpaas 小程序并实现启动 IOS 版|学习笔记
快速学习接入 mpaas 小程序并实现启动 IOS 版
240 0
接入 mpaas 小程序并实现启动 IOS 版|学习笔记
|
移动开发 JSON 小程序
iOS 端自定义开发(一)|学习笔记
快速学习iOS 端自定义开发(一)
188 0
iOS 端自定义开发(一)|学习笔记