Time of Update: 2014-01-06
這裡我們用一個demo來說明ios是如何在視圖控制器之間傳遞重要的參數的。本文先從手寫UI來討論,在下一篇文章中討論在storyboard中傳遞資料。首先建立一個空工程,並添加一個根視圖控制器類,如所示:#在函數didFinishLunchingWithOption中添加幾行代碼,完成後如下: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
Time of Update: 2014-01-06
上文中記錄了在手寫代碼實現UI的情況下,介面切換時不同視圖控制器之間資料傳遞的機制。顯示和消除介面使用的函數時presentViewController和dismissViewController函數,資料傳遞則可以採用代理、通知等機制。本文記錄的是使用storyboard實現介面的情況下,採用segue相關的方法實現與上文中相同的功能。首先要做的是建立一個單視圖工程,建立完成後會產生一組(一個標頭檔和一個源檔案稱為一組)AppDelegate類,一組ViewController類,一個stor
Time of Update: 2014-01-05
a.[] 表示數組 b.{} 表示字典 - 物件模型建立關係 c.應用非常多,基本上移動開發的主要資料轉送都是JSON d. 要使用JSON,從網路上擷取到資料之後使用: [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments
Time of Update: 2014-01-04
IOS中XML解析類: 點擊開啟連結IOS中對XML檔案的解析有兩種方式Dom 和Sax,但是建議用蘋果官方推薦的方法Sax方法sax解析主要是依賴代理的方法進行的。NSXMLParserDelegate1)sax解析的前期準備,配置xml檔案以及 設定delegate代理首先把XML解析類匯入工程,然後在加入架構libxml2.dylib ,然後在把Header search
Time of Update: 2014-01-04
1.建立single view工程,匯入FMDatabase庫,匯入libsqlite3系統庫;2.ViewController.xib檔案3.ViewController.h@interface ViewController : UIViewController{ IBOutlet UITextField *_name; IBOutlet UIImageView *_image; FMDatabase *_db;}- (IBAction)add:(id)sender;-
Time of Update: 2014-01-04
進程是系統資源管理的最小單位。線程是程式執行的最小單位。多線程是一個進程裡包含多個線程。一個進程資料會載入到一個記憶體區間中,其中的線程共用相同的記憶體空間。各個進程的地址是獨立的,只有進程能重新整理UI、更新資料。線程需要手動開啟。建立一個簡單售票系統,連接線程的運行。首先建立一個單視圖工程,在.h檔案中代碼:@interface LinViewController : UIViewController{ //聲明剩餘票數、賣出票數成員名 int _leftTickets;
Time of Update: 2014-01-04
也許你會遇到這樣一個問題,或者需要這麼一個功能。表中每個單元格的高度隨著該單元格的內容多少而變化。尤其內容不止是文字的時候其實要實現這個功能很簡單。首先所謂的動態配置單位格高度只是效果上看起來是這樣,其實還是跟我們平常設定單元格高度一樣,每行先分配高度。這裡就一個demo來說說吧要實現這個功能其實最重要的就是下面的兩個方法1、//設定行高- (CGFloat)tableView:(UITableView *)tableView
Time of Update: 2014-01-04
用block可以定義任意的程式碼片段,將其像對象一樣傳入另一個方法;它是c層級的文法,和C語言中的函數指標非常相似。在C語言中,函數指標和block寫法分別如下 int (* func1)(int a, int b);//c函數指標 傳回型別 | 函數名 | 參數 int (^backValue)(int num);//block 傳回型別 | 方法名 |
Time of Update: 2014-01-05
// XMPPManager.h// InstantMessage//// Created by ChenJungang on 14-1-3.// Copyright (c) 2014年 chenjungang. All rights reserved.//#import <Foundation/Foundation.h>#import "XMPPFramework.h"@class
Time of Update: 2014-01-04
elementsForName:Returns the child element nodes (as NSXMLElement objects) of the receiver that have a specified name.返回子項目節點(如NSXMLElement對象)的接收方指定的名字- (NSArray *)elementsForName:(NSString *)nameParametersnameA string specifying the name of the
Time of Update: 2014-01-04
最近要在tableview中顯示目錄資料,有1級和2級目錄的區別,資料庫中結構如下: id是主鍵,name是名字,parent是一級目錄的id,如果為-1表示本身是一級目錄。然後我從資料庫中讀取資料想放到tableview中,其中一級目錄作為section的標題,對應二級目錄作為其內容。結果出現問題:對應二級目錄只顯示1個,而且重複顯示。花費一些時間解決之後,記錄下來防止忘記。感覺是因為對tableview不熟悉才出這個問題。
Time of Update: 2014-01-04
iOS dev (9) 建立一個空白的介面作者:CSDN 大銳哥地址:http://blog.csdn.net/prevention建立一個 Empty App略AppDelegate#import @interface AppDelegate : UIResponder@property (strong, nonatomic) UIWindow *window;@end建立空白介面#import "AppDelegate.h"@implementation AppDelegate-
Time of Update: 2014-01-04
1.建立一個single view工程2.ViewController.h@interface ViewController : UIViewController { UIImageView *_imgView;//展示圖片}@end3.ViewController.m 初始化_imgView //初始化image view _imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
Time of Update: 2014-01-04
今天發現了一款名為Reflector的軟體,可以方便的錄製iOS裝置的螢幕視頻,而它的使用過程非常簡單,利用的是裝置的內在能力(air play)。使用時只需要在PC(MAC或Windows的作業系統都可以)端安裝相應的軟體,然後使用裝置串連Air play
Time of Update: 2014-01-02
我們都知道手機有震動功能,其實呢,這個功能實現起來特別的簡單,我們只需要用到幾個函數就可以了:- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event- (void)motionCancelled:(UIEventSubtype)motion
Time of Update: 2014-01-02
1、擷取應用程式套件中檔案的絕對路徑:NSString *absoluteFileName = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"filename.ext"];2、擷取主目錄下檔案的絕對路徑:(該目錄下檔案及檔案夾可在 itunes 中共用,並進行增減操作) // 擷取主目錄路徑,也即itunes共用的目錄 NSArray *paths =
Time of Update: 2014-01-02
前言:IOS的觀察者模式在IOS的使用頻率並沒有代理方法那麼高,從tableView到textField,在大多數情況下,都採用的是定義代理和實現代理的方式來進行函數的回調。而觀察者模式也只是在使用通知中樞的時刻才能用到,難道是觀察者模式比不上代理模式?雖然說,觀察者模式在效率上不如代理模式,但是使用觀察者模式可以實現程式的解耦,並且在階層比較深的地方,使用觀察者也比層層代理更加方便。----------------------------接下來,我們就對觀察者模式進行介紹:觀察者模式:觀察者模
Time of Update: 2014-01-02
在Apple的官方介紹裡看到輕描淡寫的說了一句:“The _cmd variable is a hidden argument passed to every method that is the current selector”,其實說的就是_cmd在Objective-C的方法中表示當前方法的selector,正如同self表示當前方法調用的對象執行個體一樣。比如,我們要列印當前要調用的方法,可以這樣來寫:- (void)viewDidLoad{ [super
Time of Update: 2014-01-02
有的時候產品裡需要涉及到多語言,所以需要國際化的設定,現在就記錄一下,首先如果要國際化需要到PROJECT下選擇info裡的Localizations,點擊+號,這樣可以增加國際化的語言版本設定好了以後,你的InfoPlist.strings下面就會多出來2個檔案 之後,你就可以在這裡設定一些相關的資訊例如,程式名稱 //Simplified:CFBundleDisplayName=中文app;//English:CFBundleDisplayName=en-app;在模擬器
Time of Update: 2014-01-02
手勢是指你用一個或多個手指接觸螢幕開始,直到你的手指全部離開螢幕為止所發生的所有事件。手勢辨識器(UIGestureRecognizer)是一個對象,知道如何觀察使用者產生的事件流,並識別使用者何時以與預定義的手勢相匹配的方式進行拉觸摸和拖動。UIGestureRecognizer類封裝了尋找手勢的工作。在模擬器中,按“option”鍵,可類比兩個手指的手勢。在.h檔案裡建立一個視圖對象,所有的手勢都是在視圖上進行的:@interface LinViewController :