nsstring

IOS 沙盒与清除缓存

廉价感情. 提交于 2020-03-16 14:17:05
SandBox,沙盒机制,是一种安全体系。我们所开发的每一个应用程序在设备上会有一个对应的沙盒文件夹,当前的程序只能在自己的沙盒文件夹中读取文件,不能访问其他应用程序的沙盒。在项目中添加的所有非代码的资源,比如图片、声音、属性列表等都存在自己的沙盒中。此外,在程序运行中动态生成的或者从网络获取的数据,如果要存储,也都是存储到沙盒中。 沙盒中的默认文件夹 (1)Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录 (2)Library:存储程序的默认设置或其它状态信息; 里面又包含两个文件夹Caches和Preference; Caches,存放缓存文件,iTunes不会备份此目录 (3)tmp:提供一个即时创建临时文件的地方 获取沙盒中的不同目录 代码 // JRSandBoxPath.h // Fmdb // // Created by jerei on 15-10-30. // Copyright (c) 2015年 jerei. All rights reserved. // #import <Foundation/Foundation.h> @interface JRSandBoxPath: NSObject // 获取沙盒Document的文件目录 + (NSString *

DELETE 请求参数保存在Body 中

微笑、不失礼 提交于 2020-03-16 04:08:25
NSMutableDictionary *parameter = [NSMutableDictionary dictionary]; NSString * url = [NSString stringWithFormat:signatureProxy,model2.scheduleId]; NSMutableURLRequest * req = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; req.HTTPMethod = @"DELETE"; req.HTTPBody = [NSJSONSerialization dataWithJSONObject:parameter options:NSJSONWritingPrettyPrinted error:nil];//[parameter JSONData];//dic字典相当于parameters,请求体里的东西 req.allHTTPHeaderFields = @{ @"Content-Type":@"application/json" };//请求头里的东西 NSOperationQueue *queue = [[NSOperationQueue alloc] init]; [NSURLConnection

OC - 时间日期类NSDate

邮差的信 提交于 2020-03-11 07:50:22
OC - 时间日期类NSDate //NSDate 时间日期类 NSDate 二进制数据流 { //1.获取当前时间 零时区的时间 //显示的是格林尼治的时间: 年-月-日 时:分:秒:+时区 NSDate *date = [NSDate date]; NSLog(@"当前零时区时间 %@", date); //2.获得本地时间 东八区 晚八个小时 以秒计时 NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:8 * 60 * 60]; NSLog(@"今天此时的时间 %@",date1); //3.昨天此时的时间 NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:(-24 + 8) * 60 * 60]; NSLog(@"昨天此时的时间 %@",yesterdayDate); //4.明天此刻 NSDate *tomorrowDate = [NSDate dateWithTimeInterval:24 * 60 * 60 sinceDate:date1]; NSLog(@"明天此刻的时间 %@",tomorrowDate);                //n天此刻     NSDate *tomorrowDate7 = [NSDate

iOS 用密钥对数据加密解密

╄→尐↘猪︶ㄣ 提交于 2020-03-11 03:09:14
引言 在iOS App开发中,我们需要对账户,密码等个人私密信息进行加密处理,从而保证用户信息的安全。那么可以将这些私密信息保存到钥匙串(keychain)中,因为钥匙串的不可见性,可以保证用户私密信息的安全。 值得注意的是,将明文存入钥匙串中是不安全的。因此可以将用户私密信息通过算法加密后再存进钥匙串中,这样就更进一步的保证了用户的信息安全。 常用的加密算法 加密算法 = 对称性加密算法 + 非对称性加密算法 说明:加密算法通常分为对称加密算法和非对称假面算法。 一、 对称加密算法: 原理:信息接收双方都需要事先知道密钥和加密解密算法,并且这个密钥是相同的,之后就可以对数据进行加密解密了。 常见的有:AES,DES,3DES: AES(Advanced Encryption Standard): 高级加密标准,是下一代的加密算法标准,速度快,安全级别高。 DES(Data Encryption Standard): 数据加密标准,速度较快,适用加密大量的数据。 3DES(Triple DES):是基于DES,对一块数据用三种不同的密钥进行三次加密,强度较DES更高。 二、 非对称性加密算法: 原理:通信双方A,B事先生成一个密钥对(私钥+公钥),然后A将自己的公钥发送给B,B也将自己的公钥发送给A,即通信双方将各自的公钥做一个交换。如果A要给B发送一条秘密电报

在iOS中以编程方式获取自己的电话号码

让人想犯罪 __ 提交于 2020-03-10 19:29:40
是否可以通过iPhone SDK中的标准API获取自己的电话号码? #1楼 使用专用API,您可以通过以下方式获取用户电话号码: extern NSString* CTSettingCopyMyPhoneNumber(); +(NSString *) phoneNumber { NSString *phone = CTSettingCopyMyPhoneNumber(); return phone; } 还将CoreTelephony.framework包含到您的项目中。 #2楼 要获取您的电话号码,您可以阅读plist文件。 它不适用于非越狱的iDevice: NSString *commcenter = @"/private/var/wireless/Library/Preferences/com.apple.commcenter.plist"; NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:commcenter]; NSString *PhoneNumber = [dict valueForKey:@"PhoneNumber"]; NSLog([NSString stringWithFormat:@"Phone number: %@",PhoneNumber]); 我不知道苹果是否允许这样做

代码获得手机信息

﹥>﹥吖頭↗ 提交于 2020-03-09 02:56:02
NSLog (@"\n\n\n\n\n打印手机设备信息:\n"); //手机序列号 NSUUID *UUID = [[UIDevice currentDevice] identifierForVendor]; NSLog (@"手机序列号:\n %@", UUID); //手机别名: 用户定义的名称 NSString *userPhoneName = [[UIDevice currentDevice] name]; NSLog (@"手机别名: %@", userPhoneName); //设备名称 NSString *deviceName = [[UIDevice currentDevice] systemName]; NSLog (@"设备名称: %@", deviceName); //手机系统版本 NSString *phoneVersion = [[UIDevice currentDevice] systemVersion]; NSLog (@"手机系统版本: %@", phoneVersion); //手机型号 NSString *phoneModel = [[UIDevice currentDevice] model]; NSLog (@"手机型号: %@", phoneModel); //地方型号 (国际化区域名称) NSString *localPhoneModel

《iOS简单网络传输》iOS7 CookBook系列

回眸只為那壹抹淺笑 提交于 2020-03-08 14:40:27
如何利用 NSURLConnection 来获得网络资源? 引用书中的话 “ 有使用NSURLConnection的两个方法。一个是异步的,而另一个是同步的。异步连接将创建一个新的线程并执行其下载过程在新线程。一个同步连接将阻塞调用线程且同时下载的内容。 许多开发者认为,一个同步连接阻塞主线程,但是这是不正确的。一个同步连接将始终阻止它被启动的线程。如果你从主线程的启动同步连接,是的,主线程将被阻塞。但是,如果你从一个线程在主线程之外启动同步连接,它会像一个异步连接,它不会阻止你的主线程。 实际上,同步和异步连接之间的唯一区别在于,运行时< runtime >将为异步连接创建一个线程,而它不会对一个同步连接这样做。 ” 异步连接的过程: 为了创建一个异步连接,我们需要做到以下几点:1。在NSString的实例URL 2。我们的字符串转换为NSURL的一个实例。 NSString * urlAsString = @" http://www.apple.com " ; NSURL * url = [ NSURL URLWithString : urlAsString ]; 3.我们可以创建一个异步的URL连接 NSURLRequest * urlRequest = [ NSURLRequest requestWithURL : url ]; 4.创建一个操作队列

将NSURL转换为NSString

给你一囗甜甜゛ 提交于 2020-03-08 14:36:47
我有一个应用程序,用户可以从内置的应用程序图像或从iPhone照片库中选择图像。 我使用具有 NSString 属性的对象Occasion来保存 imagePath 。 现在在内置应用程序映像的情况下,我确实将文件名作为 NSString 保存在 [occasion imagePath] 。 但是在用户从照片库中选择图像的 NSURL 情况下,我得到一个 NSURL ,我想将其转换为 NSString ,以便能够将其保存在 [occasion imagePath ]中。 是否可以将 NSURL 转换为 NSString ? #1楼 Swift更新: var myUrlStr : String = myUrl.absoluteString #2楼 我只是为这件事而奋斗,这个更新不起作用。 这最终在Swift中做到了: let myUrlStr : String = myUrl!.relativePath! #3楼 你可以使用任何一种方式 NSString *string=[NSString stringWithFormat:@"%@",url1]; 要么 NSString *str=[url1 absoluteString]; NSLog(@"string :: %@",string); string :: file:///var/containers/Bundle

Objective-c快速入门

风流意气都作罢 提交于 2020-03-08 04:21:51
对象(Class)的声明和定义 和其他的语言不同,OC的对象创建分为两个部分。声明部分(@interface)和实现部分(@implementation),且它们都必须使用@end结束。 对象的声明(OC中基本上所有的对象都继承自NSObject): @interface Car : NSObject { int _wheels; NSString *_color; } - (void)run; + (void)playMusic; @end 对象的实现: @implementation Car -(void)run { NSLog(@"The %@ car that has %d wheels is running...", _color, _wheels); } + (void)playMusic { NSLog(@"music palying..."); } @end @interface代码块的作用: 成员变量的声明和方法的声明。成员变量必须在花括号中声明。而方法则在花括号和@end之间声明 默认情况下成员变量的可访问性为protected。 @implementation代码块的作用: 用于方法的定义(实现)。以减号开头的方法属于实例方法,以加号开头的方法属于类方法。 @implementation部分同样可以声明成员变量,但是由于在多文件编译中.m文件不能被import

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