nsstring
初始化字串一
//經典字串初始化
nsstring *q1=@" 暗號";//這樣初始化,系統自動幫我們管理釋放記憶體
nslog(@"%@",q1);
初始化字串二
//(重點)格式化字串
nsstring *a=@"虎",*b=@"妖";
nsstring *q2=[nsstring stringwithformat:@"天網蓋地%@,寶塔鎮河%@",a,b];
nslog(@"%@",q2);
初始化字串三
nsstring *q3=[[nsstring alloc]init];//需要自己來釋放記憶體
q3=@" 芝麻開門";
nslog(@"%@",q3);
nssmutablestring //
初始化一
nsmutablestring *str1=[[nsmutablestring alloc]initwithcapacity:10];
//例項化的另一種方法 寫乙個分配字串的大小,不可以超過這個範圍
[str1 setstring:@"hello"];//因為為可變,所以要這樣賦值初始化,
nslog(@"%@",str1);
//
初始化二
nsmutablestring *str2=[[nsmutablestring alloc]init];
nslog(@"%@",str2);
nsstring *c=@" world";
nslog(@"%@",str2);
nsarray //
初始化一
nsarray *array1=[[nsarray alloc]initwithobjects:@"1",@"2",@"3",@"4",@"5", nil];//因為是不可變的陣列,例項化時必須對它賦值 nil(niu)為結束.
nslog(@"%@",array1);
//初始化二
sarray *array2 = @[@"abc",@"def"];
nslog(@"%@",array2);
//初始化三:通過
c陣列初始化
nsarray
nsstring *str3[3];
str3[0] = @"11";
str3[1] = @"22";
str3[2] = @"33";
nsarray *array3 = [nsarray arraywithobjects:str3 count:3];
nslog(@"%@",array3);
nsmutablearray //
初始化一
nsmutablearray *array4 = [[nsmutablearray alloc] initwithobjects:@"1",@"2",@"3", nil];
nslog(@"%@",array4);
//初始化二
(先寫乙個類,初始化定義)
ps.h
#import @inte***ce ps : nsobject
@property(nonatomic,strong)nsstring *name;
- (instancetype)initwithname:(nsstring *)name;
@end
ps.m
#import "ps.h"
@implementation ps
- (instancetype)initwithname:(nsstring *)name//初始化
return self;
}- (nsstring *)description//輸出顯示
@end
開始初始化
ps *p1=[[ps alloc]initwithname:@"zs"];
ps *p2=[[ps alloc]initwithname:@"ls"];
ps *p3=[[ps alloc]initwithname:@"ww"];
nsmutablearray *array5=[[nsmutablearray alloc]initwithobjects:p1,p2,p3, nil];
nslog(@"%@",array5);
//初始化三
nsmutablearray *array6=[[nsmutablearray alloc]init];
[array6 addobject:p1];//新增單個元素
nslog(@"%@",array6);
[array6 addobjectsfromarray:array5];//從陣列中所有元素新增
nslog(@"%@",array6);
nsdictionary(
key value
鍵值對的形式儲存
(三種建立方法))
//初始化一
nsdictionary *dic1=[nsdictionary dictionarywithobject:@"1" forkey:@"a"];
nslog(@"%@",dic1);
//初始化二
(可以新增多組鍵值對
)
nsdictionary *dic2 = [[nsdictionary alloc] initwithobjectsandkeys:@"1",@"a",@"2",@"b", nil];
nslog(@"%@",dic2);
nsdictionary *dic3=[nsdictionary dictionarywithobjects:[nsarray arraywithobjects:@"1",@"2",@"3", nil] forkeys:[nsarray arraywithobjects:@"a",@"b",@"c", nil]];
nslog(@"dict2=%@",dic3);
//初始化三
:新版本簡便寫法
nsdictionary *dic4=@;//前面為key,和前面相反
nslog(@"%@",dic4);
nsmutabledictionary //
初始化一
nsmutabledictionary *dic5=[[nsmutabledictionary alloc]init];
[dic5 setobject:@"1" forkey:@"a"];
[dic5 setobject:@"2" forkey:@"b"];
nslog(@"%@",dic5)
//初始化二
nsmutabledictionary *dic6= [nsmutabledictionary dictionarywithobject:@"value3" forkey:@"key3"];
nslog(@"%@",dic6);
//初始化三
nsmutabledictionary *dic7= [[nsmutabledictionary alloc] initwithobjectsandkeys:@"value",@"key",@"value2",@"key2", nil];
nslog(@"%@",dic7);
Foundation框架中的常用「結構體「
foundation框架作為乙個最基礎的框架,是其他所有ios框架的基礎。而在foundation框架中,結構體運用的很多。下面我就結構體做乙個簡單的介紹 常用的有以下幾種 1 nsrange 1 定義 nsrange是乙個用來表示範圍的結構體,它在foundation裡面實質上是這麼定義的 typ...
Foundation中的類簇和Swizzle
我們都知道swizzle method在oc中是一種有趣又實用的技巧,現在假設我們想hook掉nsmutablearray的insertobject atindex 方法,我們會在nsmutablearray的分類中這樣寫 swizzleinstancemethod self class selec...
C 的各種初始化
c 的初始化有很多方式 預設初始化,值初始化,直接初始化,拷貝初始化,列表初始化。這些方式之間有什麼區別與聯絡呢?我們一一來看。1.預設初始化 預設初始化是指定義變數時沒有指定初值時進行的初始化操作。例如int a sales data mydata 等等。這些變數被定義了而不是僅僅被宣告 因為沒有...