//数组
// main.mapp
// reviseFoundationBaseType测试
//spa
// Created by on 15/5/28..net
// Copyright (c) 2015年. All rights reserved.code
//orm
#import <Foundation/Foundation.h>对象
#import "Person.h"ip
int main(int argc, const char * argv[]) {ci
// int , float , double , char , bool
// C的基本数据类型
int a = 2;
float b = 1.0f;
double c = 1;
char d = 'a';
bool e = true;
printf( "%d-%.2f-%.2f-%c-%d\n", a,b,c,d,e );
//这是逻辑运算符号 && 返回值 0(假) 或 1(真)
//任何非0为真,0为假
// || 或 任何一个为真,结果为真
// ! 非为取反,就是取出相反的结果
// 三目运算 ? :。若是a>b则返回1 不然返回0
// 关系运算:> >= < <= == !=
// 算术运算:+ - * /
// 优先级: 先算术 再 关系
int f = a && b;
int g = &a || &b;
int h = !a;
int i = a > b ? 1 : 0 ;
int j = a > b + c;
char k[] = {"aaaaa"};
char *l[] = {"bbbb","ccccc"};
printf( "%d\n", j);
//OC 基本类型 BOOL YES / NO
// BOOL 虽然在OC里面是YES/NO 可是值仍是整型,默认为0
BOOL _bool;
NSLog( @"%i", _bool );
//NSString 字符序列不可变 可替换 可赋值
NSString *str = @"123123";
str = @"232332";
//给定初始字符长度 可改变长度
//NSRange 结构体类型,截取字符串长度
//NSRange Location(位置) Length(长度)
NSRange range = NSMakeRange(4, 2);
NSMutableString *str1 = [NSMutableString stringWithCapacity:10];
//追加字符串
[str1 appendString: @"abcdcfeg" ];
//删除某个区间的字符串
//[str1 deleteCharactersInRange: range];
[str1 substringWithRange: range];
//rangeOfString 找到一个要查找的位置(多个字符只返回第一个具体位置 length location)
NSRange range1 = [str1 rangeOfString: @"c"];
//用f替换掉这个区间范围的字符串
//[str1 replaceCharactersInRange:range1 withString: @"f"];
//NSLog( @"%@", str1 );
// //查找f所有替换掉字符串
// NSString *str3 = @"abcdcfeg";
// NSString *str2 = [str3 stringByReplacingOccurrencesOfString:@"c" withString:@"f"];
// NSLog( @"%@", str2 );
//
NSLog( @"------- Array -----" );
int aArray = 10;
NSNumber *number1 = [NSNumber numberWithInt:aArray];
NSLog( @"%@", number1);
//数组复习
//NSArray 不可变数组(特指下标序列不可变)
//[array count] 返回数组长度
//[array objectAtIndex:i] 以数组下标的形式返回数组中元素
//[array arrayByAddingObject: @"123"] 原来数组不变,把新增的元素加入新数组里
NSArray *array = @[@"a", number1 , @"c"];
array = @[ @"bbb", @"ccc"];
NSArray *array1 = [array arrayByAddingObject: @"123"];
// for( int i = 0 ; i < [array1 count]; i++ ){
// NSLog( @"%@", [array1 objectAtIndex: i] );
// }
//可变数组 NSMutableArray
//arrayWithCapacity 给数组一个初始空间
// NSMutableArray *muArray = [NSMutableArray arrayWithArray: array1 ];
//给数组相关值的时候,注意从0开始一直到最后下标的连续性,不然异常
//增长: 1、addObject 2、muArray[[muArray count]] = 新值
//修改:1、setObject: 值(id类型) atIndexedSubscript: 下标 2、muArray[下标] = 新值
//删除:
NSMutableArray *muArray = [NSMutableArray arrayWithCapacity: 10];
muArray[0] = @"123123";//可改变数组的序列 下标
//muArray[5] = @"12312321323213";
[muArray addObject:@"aaaa"];
NSMutableArray *muArray2 = [NSMutableArray arrayWithObjects: @"First", @"First", nil];
[muArray2 addObjectsFromArray:muArray];
// NSMutableString *testMu = [NSMutableString stringWithFormat:@"1234567890"];
// NSRange rstRange = [testMu rangeOfString: @"aaaa"];
// [testMu deleteCharactersInRange:rstRange];
// NSLog( @"%@", testMu);
//[muArray2 setObject: @"456456" atIndexedSubscript:1];
//[muArray2 removeLastObject]; //删除最后一个元素
//[muArray2 removeObject:@"456456"]; //根据值去删除元素
// NSRange rrange1;
// rrange1.length = 2;
// rrange1.location = 0;
// //[muArray2 removeObject:@"First" inRange:rrange1]; //删除范围
//deleteCharactersInRange 删除的时候注意类型 ID类型不能删除范围
for( int i = 0 ; i < [muArray2 count]; i++ ){
NSMutableString *tempStr = [NSMutableString stringWithFormat:@"%@",[muArray2 objectAtIndex:i]];
if( [tempStr isEqualToString: @"First"] ){
//
NSRange rstRange = [tempStr rangeOfString: @"rst"];
NSLog( @"%li , %li", rstRange.length , rstRange.location);
[tempStr deleteCharactersInRange:rstRange];
NSLog( @"%@", tempStr);
}
}
//字典
id testObj = [[Person alloc]init];
//NSString / NSNumber / NSArray / NSDictionary
//以上类型经严谨测试经过,能够做为字典的key
//NSString / NSNumber / NSDictionary /
// 字典取值字典的方式: dict[ key ][ 里面字典的key ]
NSNumber * numberNS = @1;
NSArray *arrayNS = @[ @"123" ];
//NSDictionary 为不可变类型
//不能删除
NSDictionary *testDict = @{
@"a" : @"b"
};
NSDictionary *dict = @{
@"name" : @"jabez",
//testObj : @"123",
numberNS : @"456",
//arrayNS[0] : @"eeee",
//arrayNS[1] : @"aaaa",
arrayNS : @"bbb",
testDict : @"ddddddd",
@"abc" : arrayNS
};
//[dict removeValueAtIndex:0 fromPropertyWithKey:@"abc"];
NSLog( @"---- @@@ , %@", dict[@"abc"] );
//可变字典
//能够删除
//能够修改
NSMutableDictionary *muDict = [NSMutableDictionary dictionaryWithDictionary: dict];
//根据某个键改变相关的值 setValue forKey KVC 写法
//setObject: 能够写对象 forKey:能够写对象类型
//setValue: 能够写对象 forKey: 只能写字符串
[muDict setObject: @"dddd" forKey:@"name"];
[muDict setValue:@"ddd" forKey: @"name"];
//[muDict set;
//新增某个字典的键值
//因为新增键值至少为最小的单位的字典,因此至少加入字典类型
[muDict addEntriesFromDictionary:
@{@"a" :@"b"}];
//批量删除多个键值
//[muDict removeObjectsForKeys: @[@"abc", @"name"]];
//删除单个键值
//[muDict removeObjectForKey: @"abc"];
//删除键下面的数组 的具体下标的值
// [muDict removeValueAtIndex:0 fromPropertyWithKey: @"abc"];
//删除所有
//[muDict removeAllObjects];
//NSLog( @"---- @@@ , %@", muDict );
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}