日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单例传值

發布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单例传值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

單例傳值 ------- 如果頁面之間相隔很多,要進行傳值,將值保存到第三方,將第三方設置為單例模式

代碼如下:

[objc]?view plaincopy

  • <pre?name="code"?class="objc">#import?<Foundation/Foundation.h>??

  • ??

  • @interface?Singleton?:?NSObject??

  • +?(Singleton?*)shareSingleton;??

  • @property?(nonatomic,copy)NSString?*?text;??

  • @end??






  • [objc]?view plaincopy

  • #import?"Singleton.h"??

  • ??

  • @implementation?Singleton??

  • ??

  • static?Singleton?*?singleton?=?nil;??

  • +?(Singleton?*)shareSingleton??

  • {??

  • ????@synchronized(self){??

  • ????????if?(singleton?==?nil)?{??

  • ????????????singleton?=?[[Singleton?alloc]init];??

  • ????????}??

  • ????}??

  • ????return?singleton;??

  • }??

  • @end??



  • [objc]?view plaincopy

  • #import?"FirstViewController.h"??

  • #import?"SecondViewController.h"??

  • #import?"UIButton+Create.h"??

  • #import?"Singleton.h"??

  • @interface?FirstViewController?()??

  • {??

  • ????UITextField?*?_textField;//創建一個輸入框??

  • }??

  • @end??

  • ??

  • @implementation?FirstViewController??

  • -?(void)dealloc??

  • {??

  • ????[_textField?release];??

  • ????[super?dealloc];??

  • }??

  • -?(id)initWithNibName:(NSString?*)nibNameOrNil?bundle:(NSBundle?*)nibBundleOrNil??

  • {??

  • ????self?=?[super?initWithNibName:nibNameOrNil?bundle:nibBundleOrNil];??

  • ????if?(self)?{??

  • ????????//?Custom?initialization??

  • ????}??

  • ????return?self;??

  • }??

  • ??

  • -?(void)viewDidLoad??

  • {??

  • ????[super?viewDidLoad];??

  • ??????

  • ??????

  • ????self.view.backgroundColor?=?[UIColor?redColor];??

  • ????self.navigationItem.title?=?@"首頁";??

  • ????/**?

  • ?????*??1.在第一個界面創建一個輸入框?

  • ?????*???

  • ?????*/??

  • ????_textField?=?[[UITextField?alloc]initWithFrame:CGRectMake(50,?80,?200,?30)];??

  • ????_textField.borderStyle?=?UITextBorderStyleRoundedRect;??

  • ????[self.view?addSubview:_textField];??

  • ??????

  • ??????

  • ????/**?

  • ?????*??1.創建一個UIButton,?

  • ?????*??2.并添加響應事件,從首頁跳轉到第二個頁面.?

  • ?????*/??

  • ????UIButton?*?button?=?[UIButton?systemButtonWithFrame:CGRectMake(100,?120,?50,?50)?title:@"Push"?target:self?action:@selector(didClickButtonAction)];??

  • ????[self.view?addSubview:button];??

  • ??????

  • ??????

  • ????//?Do?any?additional?setup?after?loading?the?view.??

  • }??

  • ??

  • -?(void)didClickButtonAction??

  • {??

  • ??????

  • ????/**?

  • ?????*??1.用push的方法推出下一個頁面?

  • ?????*??2.把首頁輸入框輸入的字符串,通過單例來接收?

  • ?????*??3.從而實現把首頁輸入框輸入的字符串,傳到第二頁的UILabel上.?

  • ?????*/??

  • ????SecondViewController?*?secondVC?=?[[SecondViewController?alloc]init];??

  • ????[Singleton?shareSingleton].text?=?_textField.text;??

  • ????[self.navigationController?pushViewController:secondVC?animated:YES];??

  • ????[secondVC?release];??

  • }??

  • ??

  • ??

  • -?(void)didReceiveMemoryWarning??

  • {??

  • ????[super?didReceiveMemoryWarning];??

  • ????//?Dispose?of?any?resources?that?can?be?recreated.??

  • }??

  • ??

  • @end??




  • [objc]?view plaincopy

  • #import?"SecondViewController.h"??

  • #import?"Singleton.h"??

  • @interface?SecondViewController?()??

  • ??

  • @end??

  • @implementation?SecondViewController??

  • ??

  • -?(void)dealloc??

  • {??

  • ????[_label?release];??

  • ????[super?dealloc];??

  • }??

  • -?(id)initWithNibName:(NSString?*)nibNameOrNil?bundle:(NSBundle?*)nibBundleOrNil??

  • {??

  • ????self?=?[super?initWithNibName:nibNameOrNil?bundle:nibBundleOrNil];??

  • ????if?(self)?{??

  • ????????//?Custom?initialization??

  • ????}??

  • ????return?self;??

  • }??

  • ??

  • -?(void)viewDidLoad??

  • {??

  • ????[super?viewDidLoad];??

  • ????self.view.backgroundColor?=?[UIColor?orangeColor];??

  • ????self.navigationItem.title?=?@"第二頁";??

  • ????/**?

  • ?????*??1.在第二個界面創建一個UILabel?

  • ?????*??2.把首頁輸入框輸入的字符串,通過單例類的屬性NSString?*?text接收?

  • ?????*??3.然后通過賦值給UILabel?

  • ?????*/??

  • ????_label?=?[[UILabel?alloc]initWithFrame:CGRectMake(50,?80,?200,?30)];??

  • ????_label.backgroundColor?=?[UIColor?greenColor];??

  • ??????

  • ????_label.text?=?[Singleton?shareSingleton].text;??

  • ??????

  • ????[self.view?addSubview:_label];??

  • ??????

  • ????//?Do?any?additional?setup?after?loading?the?view.??

  • }??

  • ??

  • -?(void)didReceiveMemoryWarning??

  • {??

  • ????[super?didReceiveMemoryWarning];??

  • ????//?Dispose?of?any?resources?that?can?be?recreated.??

  • }??

  • ??

  • @end??



  • 轉載于:https://blog.51cto.com/9453125/1561053

    總結

    以上是生活随笔為你收集整理的单例传值的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。