Foundation中各種初始化建立

2021-07-03 19:20:39 字數 4023 閱讀 6234

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 等等。這些變數被定義了而不是僅僅被宣告 因為沒有...