//數組
// 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;
}