Time of Update: 2013-12-10
初學objective-c,自己寫的一個demo,有不足之處請指正::核心代碼:[plain]- (void)viewDidLoad { [super viewDidLoad]; NSArray *array = [[NSArray alloc] initWithObjects:@"你好",
Time of Update: 2013-12-10
從.Net C#到 Cocoa Touch Objective C 移植工作並不是很順利,兩個平台,兩個語言的差異性實在太大,移植工作幾乎是重寫代碼,整個代碼量在10多萬左右,幾乎不可能在短時間內完成。在移植一小部分代碼之後,經過仔細考慮,還是決定暫時放棄從Net C#到 Cocoa Touch Objective C 移植,轉而採用MonoTouch 的方式有實現對iphone 平台的支援。結果出乎意料的順利。原以為還需要對源碼重新編譯才可以在MonoTouch
Time of Update: 2013-12-10
在開發過程中,遇到需要載入一些龐大資料,比如:可能會頻繁的請求網路,顯示圖片而我們不可能等待所有的圖片載入完成後再去重新整理表視圖!! 如何解決?個人嘗試了好幾次線程的問題。終於解決。就是在子線程中給主線程發送訊息! 個人做法是這樣: 首先顯示n張圖片,n不是太大。這裡n=5.然後多出n的圖片放在子線程中處理完成後載入。if([array
Time of Update: 2013-12-10
在網上查了下資料,有兩種方法: 方法一,利用Quartz本身的繪圖方法:- (void) drawText:(NSString *)text x:(float)x y:(float)y { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSelectFont(context, "Arial", 20,
Time of Update: 2013-12-10
plist檔案,Property List
Time of Update: 2013-12-10
IPhone上木有記憶體回收,動態申請的記憶體要自己記得釋放,此文自己總結一下可能出現記憶體泄露的各種情況,以及檢測方法。 記憶體泄露說白了,就是有這樣一塊動態申請的記憶體,但木有任何一個指標指向它。 舉例來說,在C++中: 1. MyClass * foo = new MyClass; 2. foo = NULL; 類似地在objective-C中: 1. MyClass *foo =
Time of Update: 2013-12-10
iphone的設定裡的資料幾乎都是儲存在NSUserDefaults裡的,試想一下iphone常用的四種資料存放區的方式,NSUserDefaults也確實是一個理想的儲存設定檔案的方法。與其他方式相比,簡單易用,而且滿足需求。首先我們來看一下語言的設定頁面:你有沒有留意一個現象呢,就是你選定的語言總是出現在第一列。這個是一個有趣的現象,你想一想,什麼樣的資料結構比較符合儲存這個列表資料。我想很多人的答案都會是,數組。如果假設,這列表是以數組的形式儲存,則第一項就是當前選定的語言,即當前語言在數
Time of Update: 2013-12-10
[plain] -、建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable setDelegate:self]; [DataTable setDataSource:self]; [self.view
Time of Update: 2013-12-10
最近在學習IOS開發,但無奈手裡沒有MAC機器,想過整個黑蘋果玩玩,無奈家裡兩台機器都是AMD的,看看網友們在AMD上整黑蘋果的那個痛苦勁,我選暫時放棄。這時,我想到了GNUStep,它比較全面的提供了了Objective-C開發環境,雖不能完美相容和替代Cocoa,但對於學習或入門的同學來說,已經足夠了。本來打算是用GNUStep的源檔案自己編譯的,但其中困難重重,我參考了很多文章,但和我情況一樣的不多,其中的主要原因之一,就是要處理的依賴太多了,加上我是AMD處理器以及64位機的緣故。總之,
Time of Update: 2013-12-10
首先舉一個例子:匹配9-15個由字母/數字組成的字串的Regex: NSString * regex = @"^[A-Za-z0-9]{9,15}$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; BOOL isMatch =
Time of Update: 2013-12-10
設定user agent代碼如下:[cpp] [ASIHTTPRequest setDefaultUserAgentString:@"MyApp 1.0"]; 如果不設定user agent,ASIHTTPRequest會為你建立一個。例如(Mac OS程式):My Application 1.0 (Macintosh; Mac OS X 10.5.7; en_GB)你也可以為每個request設定user agent:[cpp][request
Time of Update: 2013-12-10
Objective-C語言關鍵詞,與@synthesize配對使用。功能:讓編譯器自動編寫一個與資料成員同名的方法聲明來省去讀寫方法的聲明。說白了,就是java中的getter setter方法。聲明property的文法為: @property (參數1,參數2) 類型 名字; 如:@property(nonatomic,retain) UIWindow *window; 其中參數主要分為三類: 讀寫屬性: (readwrite/readonly) setter語意:(assign/
Time of Update: 2013-12-10
1、在使用JSON解析請求伺服器端的服務時,需要提供一個請求的URL,這個URL在有些時候需要傳遞一些參數。當這些參數是英文或數字就不會出現什麼問題,如果是中文的話會出現請求不成功的情況。[plain]NSString *urlString = @"http://······.aspx?n=張三"; urlString = [urlString
Time of Update: 2013-12-10
1.MVC(模型-視圖-控制器).Cocoa Touch設計者採用MVC範型作為指導原則,用於拆分GUI(圖形化介面)應用程式代碼的邏輯方法2.Moudle模型:儲存和處理應用程式資料的類(通常是設計一些ObjC類) View視圖:視窗、控制項等和使用者互動的元素組成的部分
Time of Update: 2013-12-10
本文討論用Lua建立iOS應用的3種方法。包括用Lua建立完整的應用(Corona)一直到用Lua作為app中的指令碼元素(通過Wax或diy)。在此之前,我們需要問自己兩個問題:1、為什麼要使用Lua?2、蘋果允許使用Lua嗎?這兩個問題是緊密相關的。如果你在此之前對Lua一無所知,我會簡單介紹一下Lua。如果你熟悉Lua,則可以跳過這部分內容。 關於Lua Lua是一個高效、輕量級、嵌入式指令碼語言。類似Javascrip、Ruby或Python。有許多和我一樣的使用者,
Time of Update: 2013-12-10
之前寫過一篇文章在任意UIView上顯示Badge,但IOS6上失敗了,原來是蘋果將Badge的類名改了,所以這裡作下相容,源碼如下:[plain] - (UIView *)showBadgeValue:(NSString *)strBadgeValue { UITabBar *tabBar = [[UITabBar alloc] initWithFrame:CGRectMake(0, 0, 320,
Time of Update: 2013-12-10
有些變數只需要初始化一次(如從檔案中讀取配置參數,讀取裝置型號等等),可以使用dispatch_once來進行讀取最佳化,保證只調用API一次,以後就只要直接存取變數即可範例如下:static BOOL isTestMode;+ (BOOL)isTestMode{ static dispatch_once_t onceToken; dispatch_once(&onceToken,
Time of Update: 2013-12-10
通常在定製系統控制項時,一般要遍曆控制項內的subviews,如下在定製UIAlertView時[html] -(void)willPresentAlertView:(UIAlertView *)alertView{ for (UIView* view in [alertView subviews])
Time of Update: 2013-12-10
ipad上如何進行頁面調試?以前用ios5的時候ipad上還可以通過safari中的開發人員工具裡面開啟控制台,查看console.log的日誌列印資訊來進行調試。但是從升級為ios6後就找不到這項了,這裡可以藉助與firebug工具來進行頁面調試。在head裡面加入:<script type="text/javascript"
Time of Update: 2013-12-10
iphone中很多應用都是可以根據你手機旋轉的方向自適應螢幕的方向,當然不是所有的應用都支援這個功能,這個具體是看應用開發人員有沒有開發相應的功能,需要不 需要這個功能也得看具體情況和需求,但是有一點請相信,實現這種效果並不難。本文就從一個入門的新手出發寫一下我對這方面的學習總結。