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...