OC-NSSTRING-NSMUTABLENSTRING

本文详细介绍了Objective-C中NSString和NSMutableString的使用方法,包括字符串创建、格式化输出、文件读写等操作,并对比了两者之间的区别。

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

OC中NSString和NSMutableString的一些常用方法:

//
//  main.m
//  oc-nsstring-mutable
//
//  Created by stevenchang on 9/27/15.
//  Copyright (c) 2015 cz. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
//        NSLog(@"Hello, World!");
        
        /**
         Foundation框架中NSString常见使用方法:
         1.对象方法
            >1.创建:
         */
        
        NSString *string1 = @"Steven Chang";   //直接赋值
        
        int age = 25;
        NSString *string2 = [[NSString alloc] initWithFormat:@"steven chang age is %d",age];
        
//        NSString *string4 = [[NSString alloc] initWithString:@"adfafaf"];
        //这种方法不建议使用,通常使用string1的写法
        
        //c字符串装为oc字符串
        NSString *string3 = [[NSString alloc] initWithUTF8String:"adfadfa"];
        //oc字符串转为c字符串
        const char *str = [string3 UTF8String];
        
              //格式化输出字符串
//        NSString *string3 = [NSString stringWithFormat:@"number is %d",12];
        
        NSLog(@"%@",string2);
        NSLog(@"%@",string3);
        NSLog(@"%s",str);
        
        /**
         2.类方法:
         */
        NSString *string5 = [NSString stringWithFormat:@"adfafafafa"];
        //c字符串转oc字符串
        NSString *string6 = [NSString stringWithUTF8String:"dafafa"];
        //oc字符串转c字符串
        const char *c = [string6 UTF8String];
//        NSString *string7 = [NSString stringWithString:@"dafafaf"];  //不使用这种方式
        NSLog(@"%@,%@,%s",string5,string6,c);
        
        /**
         从文件中读取字符串:
         1.协议名://  
         2.file://
         3.ftp://
         4.http://
         */
        //使用stringWithContentsOfFile时不需要使用file:// 协议头
        NSString *file = @"/Users/steffchang/Documents/study/program/linux/normalCommand.txt";
        NSString *string8 = [NSString stringWithContentsOfFile:file encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"%@",string8);
        
        //这里是必须要加协议头的http://
        NSURL *url = [NSURL URLWithString:@"http://baike.baidu.com/link?url=F05didbyexHYlpTI8OXm_5kd93NdyviZFhZWlzE9YbzzPvxWSkWawhCD7iW8eiNTLKf-zzis9jcrKfh9WPXcLq"];
        NSString *string9 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"%@",string9);
        
        /**
         将字符串写到文件中
         
         */
        NSString *string10 = [NSString stringWithFormat:@"age is %d",10];
        
        NSString *writeFile = @"/Users/steffchang/Documents/study/program/linux/111.txt";
        //atomically:表示原子性,YES:表示写入失败的话,不会将内容保存到文件中
        [string10 writeToFile:writeFile atomically:YES encoding:NSUTF8StringEncoding
                        error:nil];
        
        
        
        /**
         Foundation框架中的NSMutablString使用方法
         1.注意点是可变长的
         2.NSString是不可变长的
         3.父类是NSString,因此父类中的所有方法都可以使用
         */
        NSMutableString *mString1 = [NSMutableString stringWithFormat:@"dafdasfafa"];
        [mString1 appendString:@"10 11 "];   //返回值为空
        //从打印出的结果,mString1 后面追加了一个字符串10 11
        NSLog(@"%@",mString1);
        
    }
    return 0;
}


C++本科毕业设计-ROS机械臂上位机源码(下载即用),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值