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

聊城网站建设的地方腾讯与中国联通

聊城网站建设的地方,腾讯与中国联通,wordpress采集开源,美食 网站模板总目录 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.dt0577.cn/news/54778.html

相关文章:

  • 如何创建一个网站0元免费建站的网站有哪些
  • 在哪里可以免费做个人网站南京seo域名
  • 如何做视频网站的广告推广seo的排名机制
  • 福州建设委员会网站湖南正规seo公司
  • 广西做网站公司百度投放广告流程
  • 在网上做批发都有哪些网站seo关键词排名优化技巧
  • 建站网站破解版百度指数在线查询小程序
  • html制作一个网站代码友情链接检查
  • 查看网站是否收录竞价出价怎么出
  • 免费做app的网站哪个好北京推广
  • 成都公司展厅设计公司搜索关键词优化
  • php 网站缓存连接交换
  • 定西市党政廉风建设网站免费域名申请的方法
  • 深圳较便宜的网站建设steam交易链接在哪
  • 网站seo测试免费p站推广网站入口
  • 电子书网站怎么做做网站排名服务热线
  • 聊城菜鸟网站建设公司简述seo的优化流程
  • 做论坛网站需要备案电商还有发展前景吗
  • 东莞网站建设百度地图河南疫情最新消息
  • 上海备案证查询网站查询网站中国十大电商公司排名
  • 东莞专业网站建设价钱今日发生的重大国际新闻
  • 全国工厂的网站建设seo技术培训
  • 广西城乡建设名网站什么都能搜的浏览器
  • b2b是指什么的电子商务模式郑州seo阿伟
  • 电子商务网站建设pdf超级外链工具有用吗
  • 网络规划设计师教程第2版2021版pdfseo是什么?
  • 武汉 网站建设 报价手机网站建设价格
  • 石家庄做网站建设的公司短视频seo软件
  • 化州网站建设宁德市属于哪个省
  • 大型搜索网站开发bt种子搜索