由於技術的發展,現在搭載多核心處理器的手機系統越來越多。在這些系統上如果要利用其多核心的優勢讓自己的程式運行速度更快,那免不了要利用多線程技術。更普遍的,如果要讓一個耗時很長的操作不至於卡住使用者介面,我們一般會把這個操作移交到另一個線程上做。當然,從作業系統的角度上講,這個辦法是(幾乎)唯一的辦法,沒有任何錯誤。 然而,作業系統對於線程的理解和碼農們畢竟不一樣。作業系統對於線程的調度能力是普通代碼力所不能及的。這展現在幾個方面:第一,程式員很難根據核心數量的多少來動態適應自己的線程數
這個功能的重點就是在如何判斷應用是第一次啟動的. 其實很簡單我們只需要在一個類裡面寫好使用者引導頁面 基本上都是使用UIScrollView 來實現,建立一個繼承於UIViewController的類 命名為 UserGuideViewController ,在UserGuideViewController.m 寫 1 - (void)viewDidLoad 2 { 3 [super
不知道大家有沒有遇到這種情況,聲明了一個可變數組,但是無法往這個數組裡面添加資料。也許是因為我是新手吧,所以出現了這樣的問題。使用可變數組的步驟:1.在聲明部分添加:@property (nonatomic, retain) NSMutableArray *dataSource;2.合成:@synthesize dataSource = _dataSource;3.使用: [self.dataSource addObject:dic];
1 前言本章將介紹蘋果為簡化多線程而推出的一種新方法,成為Grand Central Dispatch(簡稱GCD),它提供了一套全新的API,可以將應用程式需要執行的工作拆分成為可分散在多個線程和多個CPU上的更小的塊,從而解決了使用者體驗問題。2 詳述2.1 類比好使操作接下來我們模仿一下這個耗時操作建立一個項目,當點擊Start Working的時候會等待10秒然後顯示內容,並在控制台輸出耗時:代碼執行個體ZYViewController.m [plain] // //
思路是1.ios下載伺服器上的zip資源套件(圖片,聲音等經過zip壓縮的資源套件)到本地2.解壓zip到程式目錄3.從程式目錄載入資源檔 一、下載zip資源[cpp]-(NSString*)DownloadTextFile:(NSString*)fileUrl fileName:(NSString*)_fileName { NSArray *documentPaths =
初始化AVAudioRecorder並設定錄音的參數和儲存地址:[cpp]//錄音設定 NSMutableDictionary *recordSetting = [[[NSMutableDictionary alloc]init] autorelease]; //設定錄音格式
下面是ipad上的調試效果 下面是代碼,代碼中都有注釋:[cpp]// // RootViewController.h // SoundDemo // // Created by on 13-6-21. // Copyright (c) 2013年 DoubleMan. All rights
注意:發送本地通知的時候,必退出程式。 //執行個體化對象UILocalNotification *notification =[[UILocalNotification alloc]init];//定義時間,做延遲NSDate *now =[[NSDate alloc] init ]; //延遲十秒notification.fireDate =[now
需要的標頭檔#include<time.h>先做一個擷取系統目前時間的範例,再來解釋所用的函數的作用程式碼範例:#include<stdio.h>#include<time.h>int main(){ time_t timep;//定義 time_t類型變數timep,類型為long int型 time( &timep );//把擷取的時間儲存 &
01 UIWindow * statusWindow = [[UIWindow alloc] initWithFrame:[UIApplication sharedApplication].statusBarFrame];02 [statusWindow setWindowLevel:UIWindowLevelStatusBar + 1];03 [statusWindow
iOS 開發中,一般有如下幾種資料存放區方式。需要根據具體的業務情境,選擇 合適的資料存放區方式。(1) 使用者預設設定 – 這種情況通常不需要使用者幹預,如遊戲通關資訊,Video播放記錄,或者 App 退出之後,下次進入時,希望恢複到退出時的情況。(2) 設定束(Settings Bundle)-- 提供了一個通過 iPhone、iPad 的設定(Settings)應用程式進行配置的介面。(3) 直接存取檔案系統 – 讀寫屬於當前
1 前言抽象工廠提供了一個介面,用於建立一系列有關聯或者相互依存的對象,而不必指定其具體類或其建立的細節。用戶端與從工廠得到的具體對象之間沒有耦合。2 詳述2.1 簡述Client只知道AbstractFactory和AbstractProduct,每個工廠類中,結構與實際操作的細節按照黑箱對待。甚至產品也不知道誰將負責建立他們。只有具體工廠知道為用戶端建立什麼,如何建立。這個模式很多時候它都用Factory 方法模式來實現。Factory
1 前言在物件導向軟體設計中,利用公用對象不僅能節省資源還能提高效能。共用的對象只能提供某些內在的資訊,而不能用來識別對象。專門用於設計可共用對象的一種設計模式叫做享元模式(Flyweight pattern)。2 詳述2.1 簡述實現享元模式需要兩個關鍵組件,通常是可共用的享元對象和儲存他們的池。某種中央對象維護這個池,並從它返回適當的執行個體。運用共用技術有效地支援大量細粒度的對象。2.2
demo功能:ios NSTimer應用demo 。iphone6.1 測試通過。demo說明: ios中的時間定時器 NSTimer,他用來完成程式的定時功能,他需要三個主要的參數:時間間隔NSTimeInterval浮點型,事件代理delegate和事件處理方法@selector();本例用NSTimer來取消一個程式彈出的對話方塊。demo截屏: demo主要代碼: <STRONG
UIAlertView是什麼就不介紹了1.基本用法1 UIAlertView *view = [[UIAlertView alloc]initWithTitle:@"Test" //標題2 &
方案一:讓你的應用程式委託子類化 UIApplication。在實現部分,覆蓋 sendEvent:方法:- (void)sendEvent:(UIEvent *)event { [super sendEvent:event]; // 只在開始或結束觸摸時 reset 閑置時間, 以減少不必須要的時鐘 reset 動作 NSSet
//收藏資料讀取 與更新- (void)replaceCurrentViewData :(NSMutableArray *)array{ DWUser *loginUser = ((AppDelegate* )[UIApplication sharedApplication].delegate).appUser; NSMutableDictionary *tempDic= [NSKeyedUnarchiver
1、在使用JSON解析請求伺服器端的服務時,需要提供一個請求的URL,這個URL在有些時候需要傳遞一些參數。當這些參數是英文或數字就不會出現什麼問題,如果是中文的話會出現請求不成功的情況。[plain]NSString *urlString = @"http://······.aspx?n=張三"; urlString = [urlString
圖片的縮放 一:Pinch手勢對圖片進行縮放。即用兩根手指往不同方向拖拉照片,照片會被縮小或放大。我理解的原理:等比縮放先看如下關鍵代碼:1.初始化參數- (void)viewDidLoad{ [superviewDidLoad]; lastDistance = 0.0; imageStartHeight =
demo功能:ios 無限迴圈翻頁源碼例子。iphone 6.1測試通過。demo說明:MyScrollView.m中又主要的頁面控制碼。使用 UIScrollView和 UIPageControl控制項。通過在滾動結束時設定uiscrollview的內容起始座標來實現無限制迴圈。 demo截屏: demo主要代碼:MyScrollView.m - (id)initWithFrame:(CGRect)frame { self = [super