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

iPhone學習筆記 Runtime初探初學者必看

移動開發 iOS
本文介紹的iPhone學習筆記 Runtime初探初學者必看,詳細的介紹了Runtime的狀態,我們來看詳細內容。

iPhone學習筆記 Runtime初探初學者必看 是本文要介紹的內容,runtime通常我們翻譯成運行時,其實就是程序運行的時候才加載執行。

程序分為幾個狀態,編輯時-> 編譯時(這時候就會到程序中檢查是否有語法錯誤等相關的錯誤)-> 靜態時-> 運行時

比如有些錯誤在編譯的時候是不會出現的,就是程序在語法上沒有問題。但在運行時,因為缺少資源等因素可能出現運行時錯誤。叫做runtime   error!

比如我們之前我們了解的

C運行時::C run-time library里面含有初始化代碼,還有錯誤處理代碼(例如divide by zero處理)。你寫的程序可以沒有math庫,程序照樣運行,只是不能處理復雜的數學運算,

不過如果沒有了C run-time庫,main()就不會被調用,exit()也不能被響應。因為C run-time library包含了C程序運行的最基本和最常用的函數。

所以每一次在文件中你要使用runtime的方法的時候都要確認是否已經 #import <objc/runtime.h>

(存在位置   /usr/include/objc/.)

要不會提示找不到方法

這樣比如你使用runtime的objc_msgsend()的方法的時候它就會編譯通過

那這個runtime的具體的用處是怎樣的

如下

比如你在低版本的sdk(2.x)編譯的程序,然后要屏蔽掉3.x以上的復制黏貼的功能,要是你直接調用方法比如setEnableCop()

這樣你在2.xSDK編譯的時候就會報錯,找不到所謂的方法,因為這個方法是在3.x以上的版本才會提供,在2.x根本找不到,所以方法我們不能直接的調用。

又因為iphone中的方法調用都是通過消息的形式來傳遞的,所以我們就可以跳過編譯的步驟,在程序runtime的時候在去判斷時候有存在這個方法,要是有我們就執行屏蔽

代碼實例:

  1. -(BOOL)canPerformAction:(SEL)action withSender:(id)sender  
  2. {  
  3.     id menu = objc_msgSend(NSClassFromString(@"UIMenuController"),NSSelectorFromString(@"sharedMenuController"));
  4. //或者方法調用respondsToSelector來判斷是否有存在setMenuVisible的方法  
  5.     if (menu)  
  6.     {  
  7.         objc_msgSend(menu,NSSelectorFromString(@"setMenuVisible:"),NO);  
  8.     }  
  9.     return NO;  

小結:iPhone學習筆記 Runtime初探初學者必看的內容介紹完了,希望本文對你有所幫助。以上通過自己摸索,總結的概念,如果不對或不妥的地方請留言,共同學習!

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

2011-08-10 16:44:56

iPhone代理設計模式

2011-09-16 09:38:19

Emacs

2011-08-24 17:05:01

Lua

2011-07-26 10:42:00

Cocoa Cocoa2d 游戲

2011-09-08 10:38:37

Widget

2011-07-27 10:02:12

iPhone Framework

2011-06-17 14:12:32

Qt

2011-06-17 15:06:14

Qt

2011-06-17 14:29:55

Qt

2011-06-17 15:32:28

Qt

2013-04-23 10:51:15

Linux壓縮

2011-06-17 14:41:56

Qt

2011-06-17 15:19:28

Qt

2011-06-17 15:25:18

Qt

2011-06-17 15:37:42

Qt

2011-06-17 15:44:25

Qt

2011-06-17 14:54:31

Qt

2011-08-04 18:01:07

IOS Cocoa Touc

2009-10-29 09:19:59

ADO.NET

2020-09-08 19:03:41

Java代碼初學者
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久日本| 久久视频免费看 | 久久大陆 | 午夜理伦三级理论三级在线观看 | 中文字幕一区二区三区乱码图片 | 日本在线视频不卡 | 黄色片在线看 | 四虎影视 | 精品国产乱码久久久久久图片 | 日韩视频一区二区 | 久久在线看 | 美女久久久久久久 | av毛片| 就操在线| 在线视频一区二区 | tube国产| 国产精品久久久久久久久久久免费看 | 国产成人免费网站 | 成人网在线 | 国产激情视频在线免费观看 | 成人精品在线观看 | 亚洲网一区 | 高清人人天天夜夜曰狠狠狠狠 | 午夜寂寞福利视频 | 亚洲国产精品精华素 | 成年人在线视频 | 色狠狠一区 | 日韩国产精品一区二区三区 | 九一视频在线观看 | 美女久久视频 | 黄色在线观看 | 午夜天堂精品久久久久 | 国产成人免费视频 | 亚洲精品一区中文字幕乱码 | 在线观看视频中文字幕 | 国产九九九九 | 成人精品国产一区二区4080 | 日韩视频―中文字幕 | 久久69精品久久久久久久电影好 | 日韩三级一区 | 亚洲精品九九 |