iOS不同傳值方法的分享

2021-07-04 13:50:27 字數 1516 閱讀 7180

a中要做的事情:第一:匯入b類的標頭檔案,建立b類物件如:

addcityviewcontroller*cityvc = [[addcityviewcontroller alloc]initwithnibname:nil bundle:nil];

或者addcityviewcontroller*cityvc = [[addcityviewcontroller alloc]init];

第二:根據這個格式傳值:

cityvc.addcityviewcontroller = ^(nsstring*tftext,nsmutabledictionary *arr)

然後在push過去或者pop過去之前呼叫整個方法就可以將值傳到其他頁面了。

也就是說只要跳轉到另外乙個頁面就可以了,不管是push還是pop過去的都是可以傳到的,

/-------------------------------------------

4.單例傳值:寫乙個繼承nsobject的類,這個類就是單例的乙個類,然後傳值就是這樣:在view1中把值賦值給單例類的屬性,傳到view2中時候,只要把單例中的值再傳到view2中的接收屬性就可以了

**:單例類

.h檔案

@implementation singlemodel

static singlemodel *data = nil; // 為單例實現乙個靜態變數,並初始化,置為nil

+(singlemodel*)sharedmodel

return data;

}-(id)init

return self;

}@end

/-------------------------------------------

在view1中,➕標頭檔案(是把它的屬性的一些值傳出去)

-(void)single

然後在- (void)viewdidload中呼叫這個方法就可以了,這樣單例中那些屬性就有值了

/-------------------------------------------

在view2中,➕標頭檔案(是接收從其他頁面傳來的值)

首先:在.h檔案中定義乙個屬性

@property(retain,nonatomic)singlemodel*singlevalue;

5.**:一般適合用在方向傳值,就是從b傳到a頁面的值,模式就是我不想做的事情叫個人幫我做了,我有需求,你來實現,最後我使用這個應用就可以了,就是這麼簡單

b->a

b. 做以下這些事情:

1.建立乙份協議,有兩種方式:第一種是單獨在乙個.h檔案上建立乙份協議

第二:直接在b類中建立協議

2.定義**方法,就是我的需求,你要按照我的方法去實現的

3.定義**變數

4.呼叫**方法

a.

1 遵守協議

兩種寫法,一種是在.h上寫;另外一種是在.m檔案上寫

2.實現**方法

iOS傳值方法

傳送方 datacenter thedc datacenter shareddc thedc.username usernametf.text thedc.password passwordtf.text 接收方 nsstring username datacenter shareddc usern...

IOS 傳值方法總結

1 屬性傳值 前向後傳值。就是get,set方法property 2 協議傳值 3 block傳值 代替協議 傳值,主要時間點問題。4 單利傳值 資料共享。5 通知傳值 通知中心 nsnotificationcenter提供了一種更加解耦的方式。最典型的應用就是任何物件對可以傳送通知到中心,同時任何...

1 iOS傳值的方法 屬性正向傳值

用屬性進行傳值,將a介面的值傳遞到b介面。在b類中定義乙個變數,然後在a類中跳轉到b類中的地方,對需要傳遞的變數進行賦值。1 a類中的 如下 import firstviewcontroller.h import secondviewcontroller.h inte ce firstviewcon...