ios字符串分割

OC-字符串、数组、字典总结

回眸只為那壹抹淺笑 提交于 2020-04-03 10:22:46
#import <Foundation/Foundation.h> /* ∆以NSMutable开头的都是可变类型,以NSMutable开头定义的对象都是可以对数据进行修改; NSString //不可变字符串 NSMutableString//可变字符串 NSArray// 不可变数组 NSMutableArray//可变数组 NSDictionary//不可变字典 NSMutableDictionary//可变字典 可变的意思是可以对这个类型定义的变量进行修改或者删除操作 */ int main(int argc, const char * argv[]) { @autoreleasepool { /************************* 总结:字符串 **********************************/ //============== NSString =========================== NSString *str = [[NSString alloc] init]; //初始化===================== NSString *str0 = @"Hello World"; NSString *str1 = [[NSString alloc] initWithFormat:@"%@",str0]; /

iOS开发系列—Objective-C之Foundation框架

蹲街弑〆低调 提交于 2020-03-08 04:21:25
概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有: Foundation概述 常用结构体 日期 字符串 数组 字典 装箱和拆箱 反射 拷贝 文件操作 归档 Foundation概述 为什么前面说的内容中新建一个类的时候我们都是选择Cocoa Class呢?Cocoa是什么呢? Cocoa不是一种编程语言(它可以运行多种编程语言),它也不是一个开发工具(通过命令行我们仍然可以开发Cocoa程序),它是创建Mac OS X和IOS程序的原生面向对象API,为这两者应用提供了编程环境。 我们通常称为“Cocoa框架”,事实上Cocoa本身是一个框架的集合,它包含了众多子框架,其中最重要的要数“Foundation”和“UIKit”。前者是框架的基础,和界面无关,其中包含了大量常用的API;后者是基础的UI类库,以后我们在IOS开发中会经常用到。这两个框架在系统中的位置如下图: 其实所有的Mac OS X和IOS程序都是由大量的对象构成,而这些对象的根对象都是NSObject

iOS开发常识

北战南征 提交于 2020-02-02 04:30:51
一、NSString 创建字符串。 NSString *astring = @ "This is a String!"; 创建空字符串,给予赋值。 NSString *astring = [[NSString alloc] init]; astring = @ "This is a String!"; NSLog(@ "astring:%@",astring); string release]; 使用变量初始化 NSString *name = @ "Ivan!"; NSString *astring = [[NSString stringWithFormat:@”My name is %@!”,name]]; NSLog(@ "astring:%@",astring); 判断是否包含某字符串 检查字符串是否以另一个字符串开头 - ( BOOL) hasPrefix: (NSString *) aString; NSString *String1 = @ "NSStringInformation.txt"; [String1 hasPrefix:@ "NSString"] == 1 ? NSLog(@ "YES") : NSLog(@ "NO"); [String1 hasSuffix:@ ".txt"] == 1 ? NSLog(@ "YES") : NSLog(@ "NO");

NSString 用法大全。

若如初见. 提交于 2020-02-02 03:48:48
一、NSString 创建字符串。 NSString *astring = @ "This is a String!" ; 创建空字符串,给予赋值。 NSString *astring = [[NSString alloc] init]; astring = @ "This is a String!" ; NSLog(@ "astring:%@" ,astring); string release]; 使用变量初始化 NSString *name = @ "Ivan!" ; NSString *astring = [[NSString stringWithFormat:@”My name is %@!”,name]]; NSLog(@ "astring:%@" ,astring); 判断是否包含某字符串 检查字符串是否以另一个字符串开头 - ( BOOL ) hasPrefix: (NSString *) aString; NSString *String1 = @ "NSStringInformation.txt" ; [String1 hasPrefix:@ "NSString" ] == 1 ? NSLog(@ "YES" ) : NSLog(@ "NO" ); [String1 hasSuffix:@ ".txt" ] == 1 ? NSLog(@ "YES" ) :

js new Date 创建时间默认是8点

走远了吗. 提交于 2019-12-23 01:28:52
起因 最近在写一个页面,需要用到时间控制。然后我通过 new Date() 传入日期字符串创建了一个对象,并与当前时间做时间戳比较,结果12点刚过,就出问题了。举个栗子: // 假设当前时间是2019年12月22日0点20分 new Date('2019-12-22').getTime() < new Date().getTime() // 上面的结果是什么?正常来说应该是true吧,但不好意思啊,返回了false 百思不得其解,当时因为情况紧急,查出了上面的创建时间返回的内容并不是0点,而是8点 所以就强行在时间字符串上拼接了时间: new Date('2019-12-22 00:00:00').getTime() , 强行解决了这个问题。 然后又碰到了在IOS上不识别中横线分割的时间字符串问题,讲中横线转成了反斜杠。 当时临时解决问题后的字符串大概长这样: new Date('2019/12/22 00:00:00').getTime() < new Date().getTime() 临时解决问题。现在闲来无事,可以看看这个问题究竟是什么鬼? 尝试 传入不同的字符串格式,看看结果,我只尝试了最常使用的两种格式 惊讶的发现, - 分割的字符串,被默认解析到了8点,而 / 分割的字符串,默认解析到了0点。这么说来,我之前有点多次一举了,直接讲 - 替换成 / 就可以了啊。 探究

左旋转字符串

被刻印的时光 ゝ 提交于 2019-12-21 15:22:55
汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 左旋字符串(循环左移字符串):左移串长length位后和原来一样,所以需要左移的是n % str.length()位 JS:substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 stringObject.substr(start,length) 一个新的字符串,包含从 stringObject 的 start (包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length ,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。 class Solution { public: //左旋字符串(循环左移字符串):左移串长length位后和原来一样,所以正真需要左移的是n % str.length()位 string LeftRotateString(string str, int n) { int len = str.length(); int trueSet = n % len; if(n == 0 ||

iOS 加密与解密

感情迁移 提交于 2019-12-06 02:21:25
iOS RSA的网络安全模型、iOS签名机制总结(登录、token安全、签名) 一.登录、登录保持(http请求) 登录机制大概可以分为一下三个阶段: 1. 登录验证:是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确认。 2. 登录保持:是指客户端登录后, 服务器能够分辨出已登录的客户端,并为其持续提供登录权限的服务器。 3. 登出:是指客户端主动退出登录状态。 第一种网络请求情况(安全级别:II) 一般的情况是这个样子的:一但用户登陆成功(单方面MD5加密:服务器加密则客户端不加密,客户端加密则明文传输),服务器为客户端分配 sessionID(也可以称为userID),当然有些服务器不但为客户端分配了userID还有可能会为用户提供token了(这个下面会做解释), 然后每次网络请求都将sessionID当做参数传递给服务器。 优点 能够保持用户登录状态、区分用户,相对于不返回任何信息的登录要安全了一些。 缺点 如果通过网络嗅探器(例如:青花瓷)可以获取到http链接,这样子服务器返回的sessionID便会被获取到,这样子依然会造成信息泄露,并且还能被伪造请求(浏览器请求)。 第二种网络请求情况 (安全级别:III) 第一种存在明显的安全隐患,但是目前市面上的好多app依然采用第一种方法去实现登录、网络请求