iOS:以前笔记,未整理版。太多了,先放着吧。。。。。。。

1、**************************************************************** 单例共享 ****************************************************************

单例 共享信息

.m

 

static OneT *newone = nil;

 

+(instancetype)shalldata

{

    if (newone == nil)

    {

        newone = [[OneT alloc]init];

        newone.data_zone = [NSMutableArray array];

    }

    return newone;

}

 

调用:

OneT *one = [OneT shalldata];

OneT *two = [OneT shalldata];

 

2、**************************************************************** 日期 ****************************************************************

 

日期时间

 

//美国的时间

NSDate *date = [[NSDate alloc]init];

 

//时区

NSTimeZone *myZone = [NSTimeZone systemTimeZone];

 

 //算时差 加上时差

NSInteger interValTimer = [myZone secondsFromGMTForDate:date];

NSDate *localDate = [date dateByAddingTimeInterval:interValTimer];

NSLog(@"%@",localDate);

 

 

//明天

NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:24*60*60];

 

//昨天

NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:-ADAY];

NSLog(@"date2 = %@",date2);

 

//1970年

NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:0];

NSLog(@"%@",date2);

 

//参考日期2001年

NSDate *date3 = [NSDate dateWithTimeIntervalSinceReferenceDate:0];

NSLog(@"%@",date3);

 

 

 

//nsdate -> nsstring 类型转换

NSDate *date1 = [NSDate date];

 

1.

NSString *date1str = date1.description; //美国的时间

 

2

NSDateFormatter *dateFormat1 = [[NSDateFormatter alloc]init];

2.1

[dateFormat1 setDateFormat:@"yyyy年MM月dd日 EEEE HH mm ss zz"];

 

2.2

    [dateFormat1 setDateStyle:NSDateFormatterShortStyle];

   [dateFormat1 setTimeStyle:NSDateFormatterMediumStyle];

 

NSString *datestr2 = [dateFormat1 stringFromDate:date1];

NSLog(@"datestr2 = %@",datestr2);

 

 

 

//获取所有时区的名字

NSArray *timeZoneNames =  [NSTimeZone knownTimeZoneNames];

//新建一个时区

NSTimeZone *newZone = [NSTimeZone timeZoneWithName:@"Pacific/Fiji"];

//新建一个时间格式

NSDateFormatter *dateFormat2 = [[NSDateFormatter alloc]init];

//设置该时区

[dateFormat2 setTimeZone:newZone];

//设置时间格式

[dateFormat2 setDateFormat:@"yyyy年MM月dd日 EEEE HH:mm:ss zz"];

//打印

NSString *dateString =  [dateFormat2 stringFromDate:[NSDate date]];

NSLog(@"dateString = %@",dateString);

 

//字符串转date

NSString *dateStr4 = @"2016年07月27日 星期三 20:16:10 GMT+12";

NSDate *date4 = [dateFormat2 dateFromString:dateStr4];

NSLog(@"%@",date4);

 

 

 

3、**************************************************************** 其他 **************************************************************** 

 

 

 

NSRange newrange = NSMakeRange(1,5);

NSValue *newvalue = [NSValue valueWithRange:newrange];

NSLog(@"%@",newvalue);

NSArray *newarray = [NSArray arrayWithObjects:newvalue, nil];

NSLog(@"%@",newarray);

    

NSRange newrange2 = [newvalue rangeValue];

NSLog(@"%lu,%lu",newrange2.location,newrange2.length);

 

 

 

//封装自定义的结构体

struct MyPoint 

{

int x;

        int y;

};

struct MyPoint mypoint;

mypoint.x = 10;

mypoint.y = 100;

    

NSValue *val2 = [NSValue value:&mypoint withObjCType:@encode(struct MyPoint)];

NSLog(@"%@",val2);

    

struct MyPoint mypoint2;

[val2 getValue:&mypoint2];

NSLog(@"mypoint2.x = %d,mypoint2.y = %d",mypoint2.x,mypoint2.y);

 

 9、

@interface class_A:NSObject

@end

 

@implementation class_A

@end

 

@property int x;

@synthesize x;

 

[MyA setNumb:5]; 即使实例变量是小写,这个set后也要大写

n=[MyA numb]; 

 

[A B]  等价 A.B

 

[self 该.m文件的方法],找不到再去父类找

 

 

与文件.h.m同名

@interface class_A:NSObject

@end

 

@interface class_B:class_A

@ens

 

继承里,class_B里的方法的可以用

[self A的方法]

[self A的变量]

 

需要某文件的某些方法,可以用

@class xxx.h

 

如果xxx.h的某些方法访问不了,如init,还是要

#import xxx.h

 

重复包含的,其中一个.h可以用@class xxx(不用写.h),对应.m要#import xxx.h

 

 

同名方法优先使用class_B的方法

 

同名的方法,会自动判断[A set_value:(int)x]的类,如判断出A

 

id x;

x=任意变量、class类

 

@try

{

}

@catch

{

}

@finally

{

}

还有的@throw

存储

NSString *path = @"/Users/etcxm/test.plist";

    [dic writeToFile:path atomically:YES];

 

NSArray  *A_data_R = [NSArray array];

A_data_R = [NSArray arrayWithContentsOfFile:S_add];

 

2、

可变数组 copy 赋值给不可变数组。

 

==========================================================================

 

//编码

NSData *new_data = [s_text dataUsingEncoding:NSUTF8StringEncoding];

 

//解码

NSString *new_string = [[NSString alloc]initWithData:new_data encoding:NSUTF8StringEncoding];

 

==========================================================================

//沙盒路径

NSHomeDirectory()

 

 //工程目录

[NSBundle mainBundle]

==========================================================================

 


    NSArray *data = [NSArray arrayWithObjects:@"zhang3",@"li4", nil];

    

    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"ceshi83.txt"];

    

    BOOL status = [NSKeyedArchiver archiveRootObject:data toFile:path];

    

    NSLog(@"%@",status?@"成功":@"失败");

    

    NSArray *r_data = [NSKeyedUnarchiver unarchiveObjectWithFile:path];

    

    NSLog(@"%@",r_data);

 

 

 6、

instancetype:返回与初始化类相同的类型。

 

-(instancetype)initWith…

{

self=[super init];

if(self)

{

}

return self;

}

 

-(class_A *)initwithone:(int)a other:(int)b

{

self=[super init];

if(self)

{

[self seta:a b:b ] ;

}

return self;

}

 

 

 

+(instancetype)robotWithName:(NSString*)r_name andage:(int)r_age

{

#if 0

    return [[self alloc]initWithName:(NSString*)r_name andage:(int)r_age];

#else

    

    Robot *new_R = [[Robot alloc]initWithName:r_name andage:r_age];

    return new_R;

#endif

}

 

转载于:https://www.cnblogs.com/leonlincq/p/6169059.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言经典编程题--哥德巴赫猜想 、完数 、猜数字等

一、 验证歌德巴赫猜想:任意一个不小于6的偶数都可以表示成两个素数的和。从键盘任意给一个符合条件的数,输出相应的两个素数。 素数:指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数 代码如下…

Calendar的DAY_OF_MONTH, DAY_OF_YEAR, DATE的区别

From: https://blog.csdn.net/weixin_34233679/article/details/87286628 cal1.add(Calendar.DAY_OF_MONTH,1); cal1.add(Calendar.DAY_OF_YEAR,1); cal1.add(Calendar.DATE,1); 就单纯的add操作结果都一样,因为都是将日期1 就没有区别说是在月的日期中加1还是…

Cisco网络防火墙配置方法

这篇文章主要介绍了Cisco网络防火墙配置方法,需要的朋友可以参考下  由于网络防火墙默认禁止所有的通信,因为,只有对其进行适当配置后,才能实现正常的网络通信。  如何配置Cisco网络防火墙  1.进入全局配置模式  ciscoasa#configure …

linux远程登录三种方式telnet,ssh,vnc

linux远程连接三种方式telnet,ssh,vnctelnet和ssh服务只能实现基于字符界面的远程控制,如果要基于图形界面进行远程控制,可以借助免费的VNC来完成。一、telnet连接1.首先进入终端,查看是否安装了telnet服务。linux默认…

老司机学习MyBatis之如何通过select返回Map

From: https://blog.csdn.net/Gaomb_1990/article/details/80638177 一、案例 当要查询的结果是一个Map的时候&#xff0c;这里分为两种情况&#xff1a; ①返回单条记录 <select id"getUserByIdReturnMap" resultType"map"> select id, log…

大数据之Yarn——Capacity调度器概念以及配置

试想一下&#xff0c;你现在所在的公司有一个hadoop的集群。但是A项目组经常做一些定时的BI报表&#xff0c;B项目组则经常使用一些软件做一些临时需求。那么他们肯定会遇到同时提交任务的场景&#xff0c;这个时候到底如何分配资源满足这两个任务呢&#xff1f;是先执行A的任务…

C#基于Socket的简单聊天室实践

序&#xff1a;实现一个基于Socket的简易的聊天室&#xff0c;实现的思路如下&#xff1a; 程序的结构&#xff1a;多个客户端一个服务端&#xff0c;客户端都是向服务端发送消息&#xff0c;然后服务端转发给所有的客户端&#xff0c;这样形成一个简单的聊天室功能。 实现的细…

C/C++经典面试题

面试题1&#xff1a;变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义&#xff0c;不分配地址的称为声明。一个变量可以在多个地方声明&#xff0c;但只能在一个地方定义。加入extern修饰的是变量的声明&#xff0c;说明此变量将在文件以外或在文件后面部分定义…

Java跳出多重循环

From: https://www.cnblogs.com/fastfn/p/9777067.html 场景&#xff1a;很多的时候需要做到跳出多重循环&#xff0c;而在Java中虽然后goto关键字&#xff0c;但是是保留字&#xff0c;并没有启用。而在处理分支结构的if...else,switch...case,好像都达不到想要的效果。 作为…

CCF 节日

问题描述有一类节日的日期并不是固定的&#xff0c;而是以“a月的第b个星期c”的形式定下来的&#xff0c;比如说母亲节就定为每年的五月的第二个星期日。现在&#xff0c;给你a&#xff0c;b&#xff0c;c和y1, y2(1850 ≤ y1, y2 ≤ 2050)&#xff0c;希望你输出从公元y1年到…

回文数算法

1、回文数&#xff1a;一种数字&#xff0c;如&#xff1a;12321, 这个数字正读是12321&#xff0c;倒读也是12321&#xff0c;即&#xff1a;将这个数的数字按相反的顺序重新排列后&#xff0c;所得到的数和原来的数一样。回文数判别算法&#xff08;java实现&#xff09;impo…

深入了解scanf() getchar()和gets()等函数之间的区别

----------------------------------------------------| 问题描述一&#xff1a;&#xff08;分析scanf()和getchar()读取字符&#xff09; |-------------------------------------------------- scanf(), getchar()等都是标准输入函数&#xff0c;一般人都会觉得这几个函数…

java基础集合简介Map(三)下

From: https://www.cnblogs.com/douyu2580860/p/8358768.html --Map接口简介 今天来看一看map集合&#xff0c;map映射接口&#xff0c;用于存放键值对&#xff0c;<key,value>&#xff0c;通过key来查找value,顾名思义key不能为空&#xff0c;唯一且不重复&#xff0c;不…

横向量与矩阵的乘积

设Tj(Tj1, Tj2, ..., Tjn)为横向量。而iδ是Tj中第δ位不为零的元素&#xff0c;1≤δ≤z。 令hjTjH, 则hj是TH的第j行。且有 hjΣ(ki1, i2, ..., iz)Tj,kHk. 从上式看&#xff0c; &#xff08;1&#xff09;可以将横向量的第k位视为右边矩阵第k行是否叠加的控制信号。 &#…

MySQL日期时间函数大全(转)

DAYOFWEEK(date) 返回日期date是星期几(1星期天,2星期一,……7星期六,ODBC标准)mysql> select DAYOFWEEK(1998-02-03);   -> 3 WEEKDAY(date)  返回日期date是星期几(0星期一,1星期二,……6 星期天)。 mysql> select WEEKDAY(1997-10-04 22:23:00);   -> 5 my…

C语言常见错误

对于刚学编程&#xff0c;刚接触C的新手来说&#xff0c;编译运行报错是最头疼的一件事&#xff0c;爆出一堆英文&#xff0c;英语差一点的又不知道什么意思&#xff0c;所以也不知道如何去改&#xff0c;在此&#xff0c;我给大家传一份常见错误中英文对照表及简单解释&#x…

screen 断开 screen -r 不能进入断开的会话

From: https://www.wrox.org/archives/541 screen意外断开后screen -r *** 命令不能进入断开的会话&#xff0c;出现如下提示&#xff1a; There is a screen on: 11103.*** (Attached) There is no screen to be resumed matching ***. 这个时候可以用下面这条命令进入&…

mysql数据迁移

[rootdns var]# service mysqld stop Shutting down MySQL.. [rootdns bin]# ./mysql_install_db --usermysql --datadir/data/mysql_data2转载于:https://blog.51cto.com/alwaysyunwei/1260567

从getmemery()函数看内存管理、函数传参等一系列问题

在C 面试题目中&#xff0c;会经常出现getmemery()函数的改错题&#xff0c;比如下面这道题&#xff0c; 例一&#xff1a;代码如下&#xff1a; [cpp] view plaincopy #include <stdio.h> char *getmemery() { char p[] "hello world!"; …

Java中array、List、Set互相转换

From: https://www.cnblogs.com/yysbolg/p/9977365.html 数组转List String[] staffs new String[]{"A", "B", "C"}; List staffsList Arrays.asList(staffs);//注意: Arrays.asList() 返回一个受指定数组决定的固定大小的列表。所以不能做 a…