[OC Foundation框架 - 3] 指向指针的指针

使用函数改变NSString

 1 void changeStr2(NSString **str3)
 2 {
 3     *str3 = @"789";
 4 }
 5
 6 int main(int argc, const char * argv[]) {
 7     @autoreleasepool {
 8         NSString *str = @"456";
 9         changeStr2(&str);
10         NSLog(@"The string is %@", str);
11     }
12     return 0;
13 }

若不适用指向指针的指针作为参数,即使用普通指针,就仅仅改变了指针的指向,没有改变原来的字符串值,而函数的指针形参不会影响实参。

时间: 2024-12-24 15:56:22

[OC Foundation框架 - 3] 指向指针的指针的相关文章

OC Foundation框架—结构体

一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了. 即#import<foundation/foundation.h> 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的. 二.常用的结构体介绍及简单使用 常用的结构体: (一)NSRang的基本使用 创建变量 (二)NSPo

OC Foundation框架—字符串

一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableArray:可变数组 2) NSSet: NSMutableSet: 3) NSDictiorary NSMutableDictiorary 其它: NSDate NSObject 二.NSString和NSMutableString的使用与注意 (一)6种创建字符串的形式 (二)使用注意 (1)字符

OC Foundation框架—集合

Foundation框架—集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组. C语言数组有一个缺点即数组中只能存放同种数据类型的元素. OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等. (2)NSArray的创建 (3)NSArray的访问 (4)NSArray的遍历 数组的遍历有以下几种方式: 首先创建一个数组 第

[OC Foundation框架 - 13] NSValue

NSNumber能够包装基本数据类型称为OC对象,是因为继承了NSValue 包装结构体成OC对象 1.自带结构体 1 void value() 2 { 3 CGPoint point = CGPointMake(10, 10); 4 NSValue *obj = [NSValue valueWithPoint:point]; 5 NSLog(@"%@", obj); 6 7 CGPoint p1 = [obj pointValue]; 8 BOOL result = CGPointE

[OC Foundation框架 - 22] 集合的内存管理

A.集合的手动内存管理 NSArray addObject: 加入的元素执行一次retain removeObject: 被删除的元素执行一次release removeAllObjects: 所有元素执行一次release B.ARC机制集合内存分析 当一个对象被放入集合中时,会保存它的强指针 当一个对象被从集合中删除的时候,会删除它在集合中的强指针 当集合的指针被置为nil,其中的全部元素指针也会被置为nil Q:当使用不同的方法初始化集合的时候,出现了不同的回收顺序 1 @autorele

[OC Foundation框架 - 20] 统计代码行数

注意: 1.变量名和函数名不要混淆调用 2.不要对文件夹进行文件的操作,没有权限 3.递归调用注意初始化变量 1 // 2 // main.m 3 // CodeLineCount 4 // 5 // Created by hellovoidworld on 14-11-18. 6 // Copyright (c) 2014年 com.hellovoidworld. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h>

[OC Foundation框架 - 18] Class

使用Class来创建实例 1 // 18.通过@"Ball"创建一个Ball实例(不可以使用[[Ball alloc] init]创建) 2 NSString *className = @"Ball"; 3 Class class = NSClassFromString(className); 4 Ball *ball = [[class alloc] init]; 5 ball.color = ColorWhite; 6 NSLog(@"通过class创

OC Foundation框架—字符串操作方法及习题

1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) { 4 @autoreleasepool { 8 /* 9 不可变字符串 10 1.创建字符串 11 实例方法(3种) 12 类方法(3种) 13 2.不可变字符串: 14 统计长度(2种) 15 索引提取 (3种) 16 比较 (3种) 17 查照字符串位置(1种) 18 判断前后缀 19 转换数字 20 大小写转换 21 字符串提取

[OC Foundation框架 - 23] 文件管理

A. 目录管理 1 NSFileManager*manager = [NSFileManagerdefaultManager];//单例模式 2 3 // 1.获取文件属性 4 NSString *path = @"/Users/hellovoidworld/desktop/oc/test20141121.txt"; 5 NSFileManager *manager = [NSFileManagerdefaultManager]; // 单例模式 6 NSDictionary *att