Object-C 开发学习笔记二:NSNumber和NSString

本文通过示例代码介绍了Objective-C中NSNumber与NSString的基本使用方法,包括创建、转换、比较、截取等操作,并展示了如何利用NSString进行格式化字符串的创建与处理。

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

示例代码:

//
//  main.m
//  test
//
//  Created by Bin Shen on 12/28/14.
//  Copyright (c) 2014 Bin Shen. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        /* ---------- NSNumber ---------- */
        // 创建NSNumber对象
        NSNumber *monthNumber = [NSNumber numberWithInt:10];
        NSNumber *lengthNumber = [[NSNumber alloc] initWithFloat:10.8];
        NSLog(@"monthNumber : %@", monthNumber);
        NSLog(@"lengthNumber : %@", lengthNumber);
        
        // 还原成基本数据类型
        int month = [monthNumber intValue];
        float length = [lengthNumber floatValue];
        NSLog(@"month : %d", month);
        NSLog(@"length : %.1f", length);
        
        /* ---------- NSString ---------- */
        // 创建一个字符串常量
        NSString *string1 = @"这是一个字符串常量";
        NSLog(@"string1 : %@", string1);
        // 创建一个空的字符串
        NSString *string2 = [[NSString alloc] init];
        NSString *string3 = [NSString string];
        NSLog(@"string2 : %@", string2);
        NSLog(@"string3 : %@", string3);
        // 快速创建字符串
        NSString *string4 = [[NSString alloc] initWithString:@"abc"];
        NSString *string5 = [NSString stringWithString:@"xyz"];
        NSLog(@"string4 : %@", string4);
        NSLog(@"string5 : %@", string5);
        // 创建一个格式化的字符串 堆区
        NSString *string6 = [[NSString alloc] initWithFormat:@"整数: %d", 10];
        NSString *string7 = [NSString stringWithFormat:@"浮点数: %f", 10.8];
        NSLog(@"string6 : %@", string6);
        NSLog(@"string7 : %@", string7);
        
        // 字符串的比较
        if([string4 isEqualToString:string5]) {
            NSLog(@"same content");
        } else {
            NSLog(@"different content");
        }
        
        NSString *string8 = [NSString stringWithFormat:@"123"];
        NSString *string9 = [NSString stringWithFormat:@"123"];
        if([string8 isEqualToString: string9]) {
            NSLog(@"same content");
        } else {
            NSLog(@"different content");
        }
        
        if(string8 == string9) {
            NSLog(@"same pointer");
        } else {
            NSLog(@"different pointer");
        }
        
        //  比较字符串的大小
        NSString *string10 = [[NSString alloc] initWithFormat:@"z"];
        NSString *string11 = [[NSString alloc] initWithFormat:@"abcd"];
        NSComparisonResult result = [string10 caseInsensitiveCompare:string11];
        NSLog(@"result : %d", result);
        
        // 求字符串的长度
        NSLog(@"%d", [string11 length]);
        
        // 字符串的转换
        NSString *string12 = @"Hello World";
        NSLog(@"upper : %@", [string12 uppercaseString]);
        NSLog(@"lower : %@", [string12 lowercaseString]);
        NSLog(@"upper : %@", [string12 capitalizedString]);
        
        // 转换成基本数据类型
        NSString *string13 = @"3.14";
        float pi = [string13 floatValue];
        NSLog(@"pi %.2f", pi);
        
        // 字符串装换成数组
        NSString *string14 = @"abc bcd xyz";
        NSArray *array = [string14 componentsSeparatedByString:@" "];
        NSLog(@"array : %@", array);

        // 截取字符串
        NSString *string15 = @"abcdefg";
        NSString *subString1 = [string15 substringToIndex:2];
        NSString *subString2 = [string15 substringFromIndex:2];
        NSLog(@"subString1 : %@", subString1);
        NSLog(@"subString2 : %@", subString2);
        NSRange range = {4, 2};
//        NSRange range;
//        range.location = 4;
//        range.length = 2;
        NSString *subString3 = [string15 substringWithRange:range];
        NSLog(@"subString3 : %@", subString3);
        
        // 字符串的拼接
        NSString *string16 = @"abc";
        NSString *string17 = @"xyz";
        NSString *appString1 = [[NSString alloc] initWithFormat:@"%@%@", string16, string17];
        NSString *appString2 = [string16 stringByAppendingFormat:@"%@", string17];
        NSString *appString3 = [string16 stringByAppendingString:string17];
        NSLog(@"appString1 : %@", appString1);
        NSLog(@"appString2 : %@", appString2);
        NSLog(@"appString3 : %@", appString3);
        
        // 查询字符串
        NSString *link = @"abcdeftarget=_blankzyx";
        NSRange range1 = [link rangeOfString:@"target=_blank"];
        NSLog(@"%@", NSStringFromRange(range1));
        if(range1.location != NSNotFound) {
            NSLog(@"found");
        }
        
        //可变字符串
        NSMutableString *mutableString1 = [[NSMutableString alloc] initWithFormat:@"abc"];
        //插入
        [mutableString1 insertString:@"...xyz" atIndex:3];
        NSLog(@"mutableString1 : %@", mutableString1);
        //替换
        [mutableString1 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"efg"];
        NSLog(@"mutableString1 : %@", mutableString1);
        //删除
        [mutableString1 deleteCharactersInRange:NSMakeRange(0, 3)];
        NSLog(@"mutableString1 : %@", mutableString1);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值