当前位置: 首页 > news >正文

上海网站建设免费推荐江苏市场监督管理局

上海网站建设免费推荐,江苏市场监督管理局,营口网站优化,小程序开发公司主页制作标准总目录 iOS开发笔记目录 从一无所知到入门 文章目录源码中 NSArray 的构造方法与命名规律自定义类的构造方法命名截图代码输出源码中 NSArray 的构造方法与命名规律 interface NSArray<ObjectType> (NSArrayCreation) (instancetype)array;(instancetype)arrayWithObject…

总目录 iOS开发笔记目录 从一无所知到入门

文章目录

    • 源码中 NSArray 的构造方法与命名规律
    • 自定义类的构造方法命名
      • 截图
      • 代码
      • 输出

源码中 NSArray 的构造方法与命名规律

在这里插入图片描述

@interface NSArray<ObjectType> (NSArrayCreation)+ (instancetype)array;
+ (instancetype)arrayWithObject:(ObjectType)anObject;
+ (instancetype)arrayWithObjects:(const ObjectType _Nonnull [_Nonnull])objects count:(NSUInteger)cnt;
+ (instancetype)arrayWithObjects:(ObjectType)firstObj, ... NS_REQUIRES_NIL_TERMINATION;
+ (instancetype)arrayWithArray:(NSArray<ObjectType> *)array;- (instancetype)initWithObjects:(ObjectType)firstObj, ... NS_REQUIRES_NIL_TERMINATION;
- (instancetype)initWithArray:(NSArray<ObjectType> *)array;
- (instancetype)initWithArray:(NSArray<ObjectType> *)array copyItems:(BOOL)flag;/* Reads array stored in NSPropertyList format from the specified url. */
- (nullable NSArray<ObjectType> *)initWithContentsOfURL:(NSURL *)url error:(NSError **)error  API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0));
/* Reads array stored in NSPropertyList format from the specified url. */
+ (nullable NSArray<ObjectType> *)arrayWithContentsOfURL:(NSURL *)url error:(NSError **)error API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0)) NS_SWIFT_UNAVAILABLE("Use initializer instead");@end

可以看出,一个类型中,用于返回一个该类型对象的方法(不止是构造方法)的命名规律为以下(其中Xxx表示具体的类名):

  • 方法的返回值可以从 (Xxx *) 变成 (instancetype) ,其中instancetype在该类中表示该类的实例类型。加nullable表示方法的返回值可为空。
  • +开头的类方法的命名:xxx xxxWithArg1: arg2: arg3...
  • -开头的对象方法的命名:initWithArg1: arg2: arg3...

自定义类的构造方法命名

按照上述规律,自定义类,代码如下:

截图

Person类定义:
在这里插入图片描述
main方法调用部分:
在这里插入图片描述

代码

//
//  main.m
//  构造方法
//
//  Created by wuyujin1997 on 2023/2/23.
//#import <Foundation/Foundation.h>@interface Person : NSObject {@publicNSString* name;int age;
}
+ (instancetype) person;
+ (instancetype) personWithName:(NSString*)name age:(int)age;
- (instancetype) initWithName:(NSString*)name age:(int)age;
@end@implementation Person
+ (instancetype) person {return [Person new];
}
+ (instancetype) personWithName:(NSString*)name age:(int)age {Person* person = [Person new];person->name = name;person->age = age;return person;
}
- (instancetype) initWithName:(NSString*)name age:(int)age {self->name = name;self->age = age;return self;
}
// description方法用于改写打印本类对象时的输出内容格式,类似于 Java 中的 toString() 。
- (NSString *)description {return [NSString stringWithFormat:@"<%@:%p> name:%@ age:%d", [self class], self, self->name, self->age];
}
@endint main(int argc, const char * argv[]) {NSArray* arr1 = [NSArray new];NSArray* arr2 = [NSArray array];NSArray* arr3 = [NSArray arrayWithArray:arr1];Person* p1 = [Person new];Person* p2 = [Person person];Person* p3 = [Person personWithName:@"wuyujin1997" age:26];NSLog(@"%@", p1);NSLog(@"%@", p2);NSLog(@"%@", p3);[p1 initWithName:@"测试赋值" age:22];   // 已有对象,只是调用 initXxx 方法去做属性值的赋值/初始化而已。NSLog(@"%@", p1);return 0;
}

输出

2023-02-26 20:02:19.759434+0800 构造方法[29043:905161] <Person:0x6000002033a0> name:(null) age:0
2023-02-26 20:02:19.759661+0800 构造方法[29043:905161] <Person:0x600000203400> name:(null) age:0
2023-02-26 20:02:19.759684+0800 构造方法[29043:905161] <Person:0x600000203460> name:wuyujin1997 age:26
2023-02-26 20:02:19.759704+0800 构造方法[29043:905161] <Person:0x6000002033a0> name:测试赋值 age:22
Program ended with exit code: 0
http://www.yayakq.cn/news/166093/

相关文章:

  • html网站登录界面模板下载网站建设拍金手指排名贰拾
  • 怎么看别的网站是那个公司做的为什么建设厅的网站不好打开
  • 网站建设 质量标准做网站石材推销
  • 郑州做网站优化电话四川住房城乡建设网站
  • 建设网站你认为需要注意哪些问题禹城做网站
  • 软件开发怎么自学天津关键词优化专家
  • 俄罗斯在线 网站制作专做童装的网站
  • 官网网站开发wordpress query post
  • 长春网站制作一般需要多少钱国内有实力的软件开发公司
  • 网站开发从零到微信公众平台注册官网入口
  • 怎么做可以把网站图片保存下来吗wordpress本地打不开
  • 网站开发团队人员构成黑龙江省建设厅的网站首页
  • 网站开发和网站建设网站开发公司起名字
  • 手机网站给一个wordpress网站建设中
  • 网站租用网站下载的视频怎么变成本地视频
  • 网站建设企业熊掌号精品简历网官网
  • 中国建设监理协会化工监理分会网站服装网站建设的技术可行性
  • 新增网站推广教程上海中风险地区地图
  • 域名哪个网站续费wordpress获取权限
  • 做网站接私活网站开发 js
  • 搭建本地视频网站一起做网站下载数据包
  • 介绍旅游美食的网站模板爱站工具查询
  • 普洱做网站的报价wordpress作作品集
  • 开福区城乡建设局门户网站设计周
  • 宁夏建设厅官方网站深圳好点的网站建设公司
  • 画册排版设计网站北京seo分析
  • 如何判断网站数据库类型可以做软文推广的网站
  • 哪里学网站建设与管理做网站别人输账号代码
  • 南京网站建设知识推广网上国网
  • 中文网站建设解决方案wordpress 菜单高亮