成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone開發知識總結 上篇

移動開發 iOS
iPhone開發知識總結 上篇是本文要介紹的內容,主要講述的是iphone應用開發中Atomic 和 nonatomic 屬性的理解,來看詳細內容。

iPhone開發知識總結 上篇是本文要介紹的內容,主要講述的是iphone開發應用中Atomic nonatomic 屬性的理解,來看詳細內容。

1、關于不同分辨率的屏幕顯示問題 
 
iphone 3 和 4分辨率各不相同。加載圖像的時候只需要指定基本的文件名,例如:pic.png根據不同分辨率,如果在iphone 4 上會自動加載pic@2x.png(如果存在)。

2、關于Atomic 和 nonatomic 屬性的理解

atomic的訪問控制器只用在沒有垃圾回收的環境中。

使用atiomic能保證線程安全的,保證一個屬性的get/set在一個線程中必須完成之后才能有其他的線程訪問它。

  1. //@property(nonatomic, retain) UITextField *userName;  
  2. //Generates roughly   
  3. - (UITextField *) userName {  
  4.     return userName;  
  5.   }   
  6. - (void) setUserName:(UITextField *)userName_ {  
  7.     [userName_ retain];      
  8.     [userName release];     
  9.     userName = userName_;  
  10.  }  

Now, the atomic variant is a bit more complicates:

  1. //@property(retain) UITextField *userName;  
  2. //Generates roughly   
  3. - (UITextField *) userName {  
  4.     UITextField *retval = nil;      
  5.   @synchronized(self) {  
  6.           retval = [[userName retain] autorelease];  
  7.    }     
  8.     return retval;  
  9.  }   
  10. - (void) setUserName:(UITextField *)userName_ {    
  11.      @synchronized(self) {       
  12.      [userName_ retain];        
  13.      [userName release];       
  14.       userName = userName_;   
  15. }  
  16.   

Atomic版本加了一個鎖保證線程安全的,atomic保證userName方法獲得的不是一個釋放過的值。

3、使用歸檔程序復制對象(深復制)

  1. NSMutableArray *dataArray = [NSMutableArray arrayWithObjects:[NSMutableString stringWithString: @"one"], ....];  
  2. NSMutableArray *dataArray2;  
  3.  
  4. NSData data = [NSKeyedArchiver archivedDataWithRootObject:dataArray];  
  5. dataArray2 = [NSKeyedUnarchiver unarchiveObjectWithData: data]; 

4、在iphone開發中,設置navigationController中返回按鈕的標題,默認為前一個視圖中標題的title,

如果設置,在前一個視圖中寫下:

  1. UIBarButtonItem *temporaryBarButtonItem=[[UIBarButtonItem alloc] init];  
  2. temporaryBarButtonItem.title=@"Back";  
  3. self.navigationItem.backBarButtonItem = temporaryBarButtonItem;  
  4. [temporaryBarButtonItem release]; 

5、在table view 中加入手勢或者事件觸摸機制,需要實現方法

  1. -(BOOL)canBecomeFirstResponder {  
  2. return YES;  

應該如下判斷用戶觸摸的是哪一個cell

  1. CGPoint pinchLocation = [pinchRecognizer locationInView:self.tableView];  
  2.  
  3. NSIndexPath *newPinchedIndexPath = [self.tableView indexPathForRowAtPoint:pinchLocation]; 

6、- (void)dismissModalViewControllerAnimated:(BOOL)animated

UIViewController的這個方法很有意思,一般parent view controller都有責任調用此方法來消除其通過presentModalViewController:animated: 方法展現的modal view controller。但是如果你在modal view controller中調用此方法,modal view controller會自動的把此消息轉發給parent view controller。

小結:iPhone開發知識總結 上篇的內容介紹完了,如果你對iphone開發感興趣的話,請參考 iPhone開發知識總結 下篇的相關內容,***希望本文能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-15 10:45:11

iPhone開發delegate

2011-07-19 09:46:38

2011-08-11 10:16:23

iPhoneUIView視圖

2011-08-04 16:17:39

iPhone 開發工具

2009-01-11 09:14:45

Javascript開發總結

2020-04-22 13:33:30

iPhone蘋果3C制造業

2021-06-26 10:03:35

Python框架Flask

2021-08-23 10:12:41

鴻蒙HarmonyOS應用

2012-05-17 11:45:12

iPhone

2011-07-19 10:42:41

iPhone 應用程序 模型

2013-01-06 09:52:43

SQLite

2013-04-09 16:04:06

iOS開發SQLite知識總結

2021-08-26 10:25:04

JavaScript進階操作 前端

2011-07-06 17:53:40

iPhone SDK Xcode

2012-04-26 21:56:59

iPhone

2011-08-11 11:37:34

iPhone內存

2011-06-17 16:47:12

Qt Eclipse Windows

2011-07-25 18:02:51

iPhone LibFetion 移植

2011-08-02 17:14:41

iPhone應用 UITableVie

2021-04-12 10:00:47

Sqlite數據庫CMD
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产欧美在线 | 国产激情免费视频 | 性一交一乱一透一a级 | 91精品国产一区二区三区 | 国产成人精品一区二区在线 | 日韩精品成人免费观看视频 | 久久福利电影 | 欧美一区二区三区久久精品视 | 国产一级免费视频 | 国产传媒毛片精品视频第一次 | 一级毛片视频在线观看 | 欧美日韩激情 | 国产日韩精品一区 | 超碰成人免费 | 精品成人av | 国产一区二区三区 | 久草www| 亚洲成人免费网址 | 欧洲亚洲一区二区三区 | 日韩中文在线 | 中文字幕色站 | 天堂av在线影院 | 欧美福利三区 | 日本在线小视频 | 永久网站 | 亚洲精品久久久久久久久久久久久 | 欧美一级毛片在线播放 | 国产91视频免费 | 欧美日韩中文字幕 | 久免费视频 | 亚洲精品自在在线观看 | 国产美女特级嫩嫩嫩bbb片 | 精品国产一区三区 | 亚洲性视频 | 精品国产一区二区国模嫣然 | 一区中文字幕 | 精品www| 日韩精品一区二区三区在线观看 | 精品国产乱码久久久久久88av | 久久亚洲精品久久国产一区二区 | 欧美亚洲成人网 |