Xcode 之 Object-c 常用知识汇总

本文汇总了Xcode中Objective-C的常见知识点,包括NSString与std::string的相互转换,NSData与UIImage之间的转换,以及如何将图片拷贝到iOS应用的沙盒路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IOS Xcode 之 Object-c 常用知识汇总

1. NSString 与 std::string 相互转换

std::string 转 NSString ⤵️

std::string str = "my name is std::string.";
NSString *nsStr = [NSString stringWithCString:str.c_str()
encoding:[NSString defaultCStringEncoding]];
//如果中文乱码,则用下面一句话:
NSString *nsStrL = [NSString stringWithCString:roomid.c_str()
encoding:NSUTF8StringEncoding];                          

NSString 转 std::string ⤵️

NSString *nsStr = @"my name is NSString.";  
std::string str = [nsStr UTF8String];
//const char *cstr = [nsStr UTF8String];

2. NSData 与 UIImage 相互转换

UIImage 转 NSData ⤵️

NSString * filePath = @"文件路径.png";
UIImage * myUIImg = [UIImage imageWithContentsOfFile:filePath];
NSData *myNSData = UIImagePNGRepresentation(myUIImg);

UIImage 转 NSData ⤵️

UUImage *myImage = [UIImage imageWithData:myImageData];

3. IOS 拷贝图片到沙盒路径中

NSString *needPreservePicFilePath = @"需要保存图片的路径.png";
NSArray *FilePath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *PicFilePath = [[FilePath objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"/myPic.png"]]; //保存文件的名称
UIImage * myImage = [UIImage imageWithContentsOfFile:needPreservePicFilePath];
NSData * imageData = UIImagePNGRepresentation(myImage);
BOOL result = [imageData writeToFile:PicFilePath atomically:YES]; //保存成功会返回YES
NSLog(@"【 result 】= %@", result?@"result=true":@"result=false");
  1. int 和 NSInteger、NSInteger 与 NSString
32位下 NSInteger 其实就是 int, 64位下是 long32位时直接把 NSIntegerint 用就是了,64位时要考虑范围问题。
NSInteger myNSInt = 12;
int myInt = (short)myNSInt;

NSInteger 转化 NSString类型:
NSString * nsString = [NSString stringWithFormat: @"%d", NSInteger];
NSString 转化 NSInteger类型:
NSInteger = [NSString intValue];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值