黑马程序员——NSString的几种实用方法

本文详细探讨了Objective-C与Swift在iOS开发领域的应用,包括语言特性、开发效率提升、代码可读性和维护性等方面,并通过实例展示了如何在实际项目中运用这些语言进行高效开发。

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1、NSString创建字符串的常见方式
创建常量字符串:
NSString *str1 = @"This is a String!";
NSString *str2 = [[NSString alloc] initWithString:@"This is a string"];
NSString *str3 = [[NSString alloc] initWithFormat:@"age is %d",10];
NSString *str4 = [[NSString alloc] initWithUTF8String:"age is 10"];
——第二种方式不常用。

2、NSString中最常用的方法

1)length
//求长度
int count = [str length];

3)isEqualToString

判断两字符串是否相同
NSString *str0 = @"BBD";  
NSString *str1 = @"BBD";  
      
//  字符串完全相等比较  
if([str0 isEqualToString:str1])  
{  
        NSLog(@"字符串完全相等");  
}  


3.从文件创建字符串
方法1:
NSString *str5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
方法2:
    NSURL *url1 = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"];
    NSURL *url2 = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"];
    NSString *s6 = [[NSString alloc] initWithContentsOfURL:url1 encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"s6=\n%@", s6);


4、characterAtIndex:取出字符串中每个字符(遍历)

<span style="font-size:14px;">        //赋值
        NSString *str = @"BBD2008";
        
        //求长度
        int count = [str length];
        
        NSLog(@"字符串的长度是%d",count);
        
        //遍历字符串中的每一个字符
        for(int i =0; i < count; i++)
        {
            char c = [str characterAtIndex:i];
            NSLog(@"字符串第 %d 位为 %c",i,c);
        }  </span>

5、改变英文字符的大小写
    NSString *string1 = @"A String";
    NSString *string2 = @"String";
    NSLog(@"string1:%@",[string1 uppercaseString]);//全部字符串变为大写
    NSLog(@"string2:%@",[string2 lowercaseString]);//全部字符串变为小写
    NSLog(@"string2:%@",[string2 capitalizedString]);//将字符串中每个单词的首字母大写


6、在指定位置插入字符串
<span style="font-size:14px;">    NSMutableString *str = [NSMutableString stringWithString:@"this string"];
    
    //在str第5位插入字符串
    [str insertString:@"is a " atIndex:5];
    
    NSLog(@"str = %@",str);</span>

7、把一个字符串接在另一个字符串的末尾

    //字符串合并
    int i  = 2008;
    char*s = "BBD";
    NSString *temp = @"temp";
    
    //在字符串temp的基础继续添加s和i
    NSString *str4 = [temp stringByAppendingFormat:@"%s%i",s,i];

8、用指定字符串替换字符串中某指定位置、长度的字符串
    NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    
    [String1 replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
    
    NSLog(@"String1:%@",String1);

9、删除指定位置指定长度的字符
    NSMutableString *str1 = [[NSMutableString alloc] initWithString:@"This (test) is a NSMutableString"];
    
    [str1 deleteCharactersInRange:NSMakeRange(5, 7)];

10、查找一个子字符串在字符串中的位置

NSRange range1 = [str1 rangeOfString:@"(test) "];




### 黑马程序员 iOS 开发教程概述 黑马程序员提供了丰富的 iOS 开发课程资源,主要面向初学者到中级开发者。这些课程通常涵盖了 Objective-C 和 Swift 的基础知识、iOS 应用开发的核心概念以及实际项目实践等内容。 #### 1. **Objective-C 基础** 马程序员iOS 初级课程一般从 Objective-C 入手,这是苹果早期推荐的主要编程语言之一。以下是部分核心知识点: - 自动释放池 `@autoreleasepool` 是内存管理的重要工具,用于优化临时对象的生命周期[^3]。 - 使用 `NSLog` 函数替代传统的 `printf` 来打印调试信息。它不仅支持 C 数据类型的输出,还能够处理 OC 特有的数据类型,例如 `NSString`[^3]。 ```objc NSString *str = @"Hello, World!"; NSLog(@"%@", str); ``` #### 2. **Swift 编程入门** 虽然 Objective-C 曾经是主流,但随着 Apple 推广 Swift,现代 iOS 开发更多依赖于这门更现代化的语言。Swift 更简洁易读,适合新手快速上手。 - 变量定义:使用 `var` 或 `let` 关键字区分可变与不可变变量。 ```swift var mutableString = "Mutable" let immutableString = "Immutable" ``` - 函数定义:Swift 提供了灵活的函数语法,便于实现复杂的逻辑。 ```swift func greet(name: String) -> String { return "Hello, \(name)!" } print(greet(name: "World")) ``` #### 3. **UI 组件与布局设计** 学习如何构建用户界面 (UI),包括 Storyboard 和纯代码两种方式。常见的 UI 控件有 UILabel、UIButton、UITableView 等。 - 创建按钮并绑定点击事件: ```swift let button = UIButton(type: .system) button.setTitle("Tap Me", for: .normal) button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside) @objc func buttonTapped() { print("Button was tapped!") } ``` #### 4. **网络请求与数据解析** 实现应用联网功能,获取远程服务器上的 JSON 数据,并将其转化为本地模型对象。 - 使用 URLSession 发起 GET 请求: ```swift guard let url = URL(string: "https://api.example.com/data") else { return } let task = URLSession.shared.dataTask(with: url) { data, response, error in if let data = data { do { let json = try JSONSerialization.jsonObject(with: data, options: []) print(json) } catch { print(error.localizedDescription) } } } task.resume() ``` #### 5. **数据库操作** 对于需要存储持久化数据的应用场景,SQLite 或 CoreData 是常用的选择。通过集成第三方库如 FMDB,可以简化 SQLite 的复杂度[^1]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值