我們都知道,iOS為安全考慮,各應用只能使用其自已的應用沙箱內的儲存空間,各應用之間是不能互相訪問彼此的沙箱空間的。另外,iOS裝置都沒有外置儲存卡,這樣,象 Android 裝置間共同訪問外置儲存卡來共用資源的方式也是行不通的。由以上分析,我們可以看得出,應用之間要進行資源共用,那麼首先,資源要能進行儲存,並且這個儲存位置是能被各個應用同時訪問到的才行。我們來看一下儲存的方式有幾種,這裡借用 Android 官方資料中的片斷: Storage
總體來說個人化定製UITextView中的內容有兩種方法:1,從檔案中讀取內容到UITextView,這個個人感覺使用rtfd和rtf格式檔案效果非常好。2,使用NSAttributeString進行定製具體方法如下:NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init]; parag
在iOS開發中,刪除Sandbox中Documents目錄下的檔案可能是個比較常用的操作,下面是我封裝的部分代碼:- (void)viewDidLoad{ [super viewDidLoad]; NSString *fileName = @"test"; NSString *filePath = [self getDirectoryOfDocumentFileWithName:fileName]; NSLog(@"%@", filePath); if
iOS 7中預設的導覽列在開始定製之前,我們先來看看iOS 7中預設導覽列的外觀。通過Xcode用Single View Controller模板建立一個工程。然後將view controller嵌入到一個navigation controller中。如果你不想從頭開始,那麼也可以在這裡下載到這個樣本工程。Xcode 5包含有iOS 6和iOS
蘋果簡訊的聊天氣泡和的聊天氣泡一直很經典,很小的一個氣泡根據文字的多少適當變大變小。其實實現很簡單,主要是控制項的自適應撐高,這裡用到的是cell。核心代碼- (UIView*)bubbleView:(NSString*)textimageName:(NSString*)name{UIView *returnView=[[UIViewalloc]initWithFrame:CGRectZero];
arc automatic reference counting 記憶體管理中對引用採取自動計數。apple官方文檔: 在oc中採用arc機制,讓編譯器來進行記憶體管理,在新一代apple llvm編譯器中設定arc為有效狀態,就無需再次鍵入retain或release代碼,降低程式崩潰,記憶體泄露等風險的同時,很大程度上減少了開發程式的工作量。編譯器完全清楚目標對象,並能立刻釋放那些不再被使用的對象。如此一來,應用程式將具有可預測性,並且能流程運行,運行速度也將大幅提升。來說一下引用計數:
本人在做ios開發的時候碰到一個老生常談的問題,UITextField被鍵盤遮蔽問題,網上搜尋了一些資料,找到了兩種前輩寫的方案,方案一:http://blog.csdn.net/springsky_/article/details/7941858,在ios5之前適用,但是在5之後盤布局變了,尤其是中文輸入時,中文漢字選擇框就固定在鍵盤上方,於是有前輩出了第二種方案:http://www.apkbus.com/home.php?mod=space&uid=
本文主要介紹mac上,如何將自訂的c++類,綁定到lua。1、工具先行 找到 你的cocos2d-x/tools/tolua++,裡面檔案按類型大致分為: (1)*.pkg:用於定義要綁定的c++類,暴露哪些介面。 (2)*.lua:用於定義產生的lua繫結檔案,都使用哪些轉換規則。 (3)*.sh:使用tolua++,根據.lua中的規則,將.pkg中定義的類,輸出為包含綁定介面的.cpp檔案。 (4)README檔案,這個比較重要,涉及到pkg檔案要使用的具體規則。2、pkg (1
- (id)init{ self = [super init]; if (self) { /* OSStatus AudioSessionInitialize ( CFRunLoopRef inRunLoop, //運行迴圈的中斷監聽器回調應該被運行。傳遞NULL,使用主運行迴圈。 CFStringRef
項目的首頁介面要一個3D效果的,這個做個Demo,大家可以參考下。這個例子呢?是我從網上找個,不過不知道,之前寫Demo的人,多麼的神奇,很簡單就能搞定的東西,那人弄的好神奇,我看了足足1個小時。這裡傳一個容易看懂的,至少我覺得好懂。 架構類例子中有。ViewController.h #import #import FlowCoverView.h@interface ViewController : UIViewController@property (strong ,
1.簡介Runloop是與線程有關的基礎架構的一部分,是用來規劃事件處理的,當有任務的時候Runloop會讓線程處理任務,當沒有任務的時候Runloop會讓線程處於休眠狀態。Runloop的管理不完全是自動的,我們必須在合適的時候開啟Runloop和處理到達的事件,Cocoa和Core
碼農就應該堅持寫東西,防止禿頂的速度加快,嘿嘿! 2104年就用這個開頭吧,好久沒寫了,頹廢了...//-(UIImage *)captureCurrentView :(UIView *)view{ CGRect frame = view.frame; UIGraphicsBeginImageContext(frame.size); CGContextRef contextRef =UIGraphicsGetCurrentContext();
地圖類開發應用中,離不開地理位置跟MKMapView的使用,下面就記錄下自己在使用這兩個東西中學到的。 不過並不是所有蘋果的裝置都支援地理位置,我們在使用前應該做個判斷,代碼如下: 1 BOOL locationAvailabe = [CLLocationManager locationServicesEnabled];2 BOOL magnetometerAvailable = [CLLocationManager
類似於什麼是進程什麼是線程在這裡我就不多浪費時間了(Google一下什麼都有)! 在Obj-c中線程的建立與啟動 //建立多線程對象一 NSThread *thread=[[NSThread alloc] initWithTarget:self selector:@selector(ChildThread:) object:@"子線程"]; //開始運行多線程
線程概述如Hello World,運行列印完,它的生命週期便結束了;有些程式是一個圓,不斷迴圈,直到將它切斷,如作業系統,一直運行直到你關機。 建立線程 [myObj performSelectorInBackground:@selector(doSomething) withObject:nil]; 多線程 iPhone中的線程應用並不是無節制的,官方給出的資料顯示iPhone
如果是Xcode 5的話步驟為 點擊項目名稱->Build Settings->搜尋 Architectures 這個裡面的原始的值是Standard architectures(armv7,armv7s,arm64) 點擊這個值,在下拉式清單方塊中選擇 Standard architectures(armv7,armv7s) ,然後儲存項目,轉到 General裡面去就可以看到項目的Target選項裡面會從4.3到7.0都有。如果是Xcode 5.1的話步驟為
蘋果是非常看重產品的安全性的,所以給使用者設計了一套複雜的安全機制。這讓喜愛自由,崇尚一切開放的程式員們極度不爽,於是越獄就成了蘋果和駭客們反覆鬥法的場所。總體來說,越獄可以讓我們隨意安裝、共用應用,但確實也降低了裝置的安全性,會給一些惡意應用提供方便之門。
strong:適用於OC對象,作用和非ARC中的retain作用相同,它修飾的成員變數為強指標類型weak:適用於OC對象,作用和非ARC中的assign作用相同,修飾的成員變數為弱指標類型assging:適用於非OC物件類型 在OC對象循環參考的時候一端為strong類型,另一段為weak類型 範例程式碼如下:複製代碼複製代碼/****************************** Teacher.h檔案 *******************************
首先產生一個繼承與UILabel的類SFPStrikeThroughAndUnderLineLabel一,在.h檔案裡@interface SFPStrikeThroughAndUnderLineLabel : UILabel{ BOOL _isWithStrikeThrough; } @property (nonatomic, assign) BOOL isWithStrikeThrough;
建立Singleton.h <Foundation/Foundation.h> - ()playSoundWithName:(NSString * 將APP要用到的音效添加到建立的bound裡去建立Singleton.m <AudioToolbox/AudioToolbox.h>*_soundDict; - (= _soundDict