oc09--NSString

//
//  main.m
//  类方法,不可以直接访问对象的属性和方法,类方法中可以直接调用类方法。
//  NSString基本使用

#import <Foundation/Foundation.h>
//#import <string.h>

@interface Iphone : NSObject
- (NSString *)loadMessage;
@end

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

int main(int argc, const char * argv[]) {
    // C语言中的字符串不是对象,普通数据类型,
    char *name1 = "lnj";
    char name2[] = "lmj";

    // OC中的字符串是一个对象, 所以它就具备了很多功能,str是指针类型,
    NSString *str = @"lk";

    Iphone *p = [Iphone new];
    // 注意: 输出C语言的字符串使用%s,输出OC的字符串使用%@,  %@就专门用于输出对象类型的
    NSLog(@"content = %s", [p loadMessage]);
    NSLog(@"content = %@", [p loadMessage]);
    NSLog(@"content = %@", p);

    // 1.如何创建OC字符串
    NSString *str = @"lnj";

    printf("age = %i, height = %f\n", 30, 1.75);
    NSString *str = [NSString stringWithFormat:@"age = %i, height = %f\n", 30, 1.75];
    NSLog(@"str = %@", str);//age = 30, height = 1.750000

    // 2.如何计算字符串的长度
    char name[] = "lnj"; // l n j \0
    char name1[] = "李";

    // 包含\0
    size_t size = sizeof(name);
    printf("size = %lu\n", size);//4

    // 不包含\0
    size_t length = strlen(name1);
    printf("length = %lu\n", length);//3,一个汉字3个字节

    // 不包含\0的
    // 计算出来的是个数, 而不是占用的字节数
    NSString *str = @"lnj";
    NSString *str1 = @"李南江";
    NSUInteger len = [str1 length];//都是3个
    NSLog(@"len = %lu", len);
    return 0;
}
时间: 2024-10-08 08:30:18

oc09--NSString的相关文章

iOS - 字符串(NSString)

/*________________________NSString(不可变字符串)________________________*/ //________________________1.字符串的创建___________________________________// //创建字符串常量 NSString *string1 = @"Hello";  //内容不变 string1 = @"Hello world"; //创建字符串 NSString *st

IOS开发-ObjC-NSString

NSString是oc语言Foundation框架中常用的类,我根据每个方法的功能将NSString的常用方法分为创建字符串.初始化字符串.判断和比较字符串.大写和小写相互转化.字符串的截取.类型转换等功能.它的方法按功能分如图所示(具体每个方法的作用我在后后面有详细的备注,其实根据驼峰命令也基本可以看出每个方法的作用),有些方法带参数,有些不带参数,方法的使用都很容易,在Xcode下编程时会自动匹配: 1??创建字符串: 1 string:创建一个空字符串 2 stringWithstring

继承NSString,NSArray 怎么写

今天在进行一个字符串测试的时候,自定义了一个继承自NSString的类,但是出现了一些问题,查阅官方文档后得到了下面这些结论 在Objective-C中,对于NSString.NSArray等一些系统的基础类,苹果公司不推荐继承创建新类的,要想给它们扩展功能只能给它们添加新的categroy(类目). 但是直接继承的话,也是可行的,只是会出现各种问题 以NSString为例 首先,创建一个NSString的子类 BFString,不添加任何方法和属性 直接创建一个BFString的实例对象,是没

【非凡程序员】 OC第五节课 (数据类型NSString和NSString)

//  main.m//  ZiFuChuan////  Created by 非凡程序员 on 15/5/18.//  Copyright (c) 2015年 非凡程序员. All rights reserved.// #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {    @autoreleasepool { NSString *[email protected]"AB"

ios Enum Value To NSString

#define enumToString(value)  @#value eg. typedef NS_ENUM(NSInteger, Sex) { Male = 0, Famale = 1, }; NSString * string =  enumToString(Male); [email protected](@"string=%@", string); string=Male;

继续NSString的学习

一.大小写转换1.- (NSString *)uppercaseString; 所有字符转化为大写2.- (NSString *)lowercaseString; 所有字符转化为小写3.- (NSString *)capitalizedString; 所有单词首字母转化大写 NSLog(@"%@", [demoTwo uppercaseString]);NSLog(@"%@", [demoTwo lowercaseString]);NSLog(@"%@&q

IOS中NSString的常见用法

iOS NSString的常用用法 //1.创建常量字符串. NSString *astring = @"This is a String!"; //2.创建空字符串,给予赋值. NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; //3.在以上方法中,提升速度:initWithString方法 NSString *astring = [[NSString allo

iOS解决NSData转NSString后字符为空

iOS中,将NSData转NSString的一般方法为[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];但是当data中包含00时,所获得的新字符就会为nil,这时我们应该这样转 [NSString stringWithUTF8String:[data bytes]];

NSString基本概念

1.NSString基本概念 什么是NSString? 一个NSString对象就代表一个字符串(文字内容) 一般称NSString为字符串类 2.NSString创建方式 最直接的方式(常量字符串) 常量区中的字符串只要内容一致, 不会重复创建 NSString *str1 = @"lnj"; NSString *str3 = @"lnj"; NSLog(@"str1 = %p, str3 = %p", str1, str3); 输出地址一致

iOS之NSString类型为什么要用copy修饰

在开发的过程中,只知道NSString类型最好用copy修饰而不能用strong,但是不知道为什么,今天了解了下,总算搞明白了. 如下所示,当修饰符为copy时,因为NSMutableString是NSString类型的子类,所以可以用指针self.name指向mStr,但是我们知道copy的含义是指当重新赋值时深拷贝新对象再赋值给self.name, 所以此时self.name的指针和mStr的指针指向的对象就不同了,所以当给mStr对象发送方法appendString的时候,修改的只是mSt