文档章节

第02天OC语言(02):字符串基本使用

lyh2017iOS
 lyh2017iOS
发布于 2017/07/11 00:09
字数 374
阅读 2
收藏 0

#####一、概念

// OC 的字符串 是一个对象
// 正是因为 OC中的字符串是一个对象, 所以它就具备了很多功能
// 输出 OC的字符串使用 %@, %@ 就是专门输出对象类型的

#####二、代码

#import <Foundation/Foundation.h>
#import <string.h>
#pragma mark 类
@interface IPhone : NSObject
- (NSString *)loadMessage;
@end

@implementation IPhone
- (NSString *)loadMessage
{
//    return "老婆我们家我做主";
    // 只需要在C语言字符串前面加上@符号,系统就会自动将C语言字符串 转换为OC字符串
    return @"老婆我们家我做主";
}
@end
#pragma mark main函数



int main(int argc, const char * argv[])
{
    /*
    // C语言中的字符串 不是对象
    char *name1 = "lyh";
    char name2[] = "lyh";
    
    // OC 的字符串 是一个对象
    // 正是因为 OC中的字符串是一个对象, 所以它就具备了很多功能
    NSString *str = @"lyh";
    
    IPhone *p = [IPhone new];
    
    // 注意: 输出 C语言的字符串 使用 %s
    //      输出 OC的字符串使用 %@, %@ 就是专门输出对象类型的
//    NSLog(@"content = %s",[p loadMessage]);
    NSLog(@"content = %@",[p loadMessage]);
     */
    
#pragma 1.如何创建OC的字符串
//    NSString *str = @"lyh";
//    printf("age = %i, height = %f\n",25,1.71);
    NSString *str = [NSString stringWithFormat:@"age = %i,height = %f",25,1.71];
    NSLog(@"str = %@",str);
    
#pragma 2.如何计算字符串长度
    // 包含\0
//    char name[] = "lyh"; // l y h \0
    char name[] = "李"; // 李(占用3个字节) \0
//    size_t size = sizeof(name);
//    printf("size = %lu\n",size);
    
    // 不包含\0
    size_t length = strlen(name);
    printf("length = %lu\n",length);
    
#warning NSString
    // 不包含\0
//    NSString *str1 = @"lyh";
    NSString *str1 = @"李";
    NSUInteger length1 = [str1 length];
    NSLog(@"length1 = %lu",length1);

    return 0;
}

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
私信 提问
Swift笔记字符串

1.字符串的基本使用 OC与Swift中字符串的区别 OC中字符串类型是NSString,Swift中字符串类型是String OC字符串用@"",Swift用"" 使用String的原因 String 是一个结构体,性能更高(保存的直接是值...

大基本功
2017/12/17
0
0
Swift4.0基础知识回顾

简单介绍一下Swift Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去《The...

博行天下
2017/12/06
0
0
OC对象,自动释放池,OC与C语言的区别

在C语言中,编程都是面向过程的编程,每一个代码块都严格按照从上至下的顺序执行,在代码块之间同样也是这样, 但是在OC中往往不是这样,OC和C++、java等语言一样,都是面向对象的编程语言,...

老人与海l
08/22
0
0
Swift编程权威指南第2版 读后收获

  自从参加工作一直在用OC做iOS开发。在2015年的时候苹果刚推出swift1.0不久,当时毕竟是新推出的语言,大家也都很有激情的学习。不过在学完后发现很难在实际项目中使用,再加上当时公司项...

滴水微澜
08/14
0
0
06-Swift中的字符串

字符串的介绍 1 OC和Swift中字符串的区别 使用 String 的原因 String 是一个结构体,性能更高 NSString 是一个 OC 对象,性能略差 String 支持直接遍历 Swift 提供了 String 和 NSString 之间...

不孤独的美食家
2016/08/06
3
0

没有更多内容

加载失败,请刷新页面

加载更多

KaliLinux常用服务配置教程DHCP服务工作流程

KaliLinux常用服务配置教程DHCP服务工作流程 DHCP服务工作流程如图1.1所示。 具体的工作流程如下所示: (1)DHCP客户端以广播的方式发出DHCP Discover报文。 (2)所有的DHCP服务器(DHCP ...

大学霸
12分钟前
3
0
Spring Junit单元测试配置

<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.1.2.RELEASE</version></dependency><dependency> <group......

TonyTaotao
17分钟前
2
0
线程安全与非线程安全-个人理解

类的某个方法是线程安全的, 说明这个方法在并发执行中,从开始执行到执行完毕,都是同步的, 比如:之前做的并发数据导出,并发的查询数据库, 但是在写入excel的时候,需要做一个同步,因为...

Java搬砖工程师
19分钟前
3
0
如何提升JavaScript的任务效率?学会后教给你同事

本文由云+社区发表 一、概述 JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。随着电脑计算能力的增...

腾讯云加社区
19分钟前
1
0
Hadoop运行在Kubernetes平台实践

Hadoop与Kubernetes就好像江湖里的两大绝世高手,一个是成名已久的长者,至今仍然名声远扬,一个则是初出茅庐的青涩少年,骨骼惊奇,不走寻常路,一出手便惊诧了整个武林。Hadoop与Kubernete...

微笑向暖wx
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部