Time of Update: 2018-07-25
// ocStudy // main.m // // 從主目錄開始,找出所有副檔名為jpg的檔案的路徑 // Created by mark on 11-10-30. // Copyright 2011年 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> int
Time of Update: 2018-07-26
什麼是多態。
Time of Update: 2018-08-19
在實際的項目開發中,二維數組也是常常用到的資料結構。OC中的二維數組也是通過一維數組來建立的,今天我們來詳解一下如何在OC中使用二維數組。 【使用NSArray初始化二維數組】 使用NSArray初始化的一維數組和二維數組都是不可變數組。 #import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {
Time of Update: 2018-08-19
【基本概念】 1.索引值編碼是一個用於間接訪問對象屬性的機制,使用該機制不需要調用存取方法和變數執行個體就可訪問對象屬性。 2.索引值編碼方法在OC非正式協議(類目)NSKeyValueCoding中被聲明,預設的實現方法由NSObject提供。 3.索引值編碼支援帶有對象值的屬性,同時也支援純數實值型別和結構。非對象參數和傳回型別會被識別並自動封裝/解鎖。 【索引值訪問】 索引值編碼中的基本調用包括-valueForKey: 和
Time of Update: 2018-08-19
同樣的,數組也有可變的形式,即NSMutableArray,現在我們來實現這些方法: (1)建立Person.h檔案,實現如下: #import <Cocoa/Cocoa.h>@interface Person : NSObject@property(nonatomic,strong) NSString *personName;- (instancetype)initWithPersonName: (NSString *
Time of Update: 2018-08-19
(1)建立數組並輸出。直接使用NSArray建立數組,[arr count]調用的是方法,來計算數組的長度。[arr objectAtIndex:i]是調用方法擷取某個Index位置的對象。 #import <UIKit/UIKit.h>#import "AppDelegate.h"int main(int argc, char * argv[]) { NSArray *arr =
Time of Update: 2018-12-03
對於iPhone開發,執行的時候檢測我們都回會用instruments,但是有些時候我們可以扼殺這些於搖籃之中。不得不談的static analysise。這個可以build 檢查可以直接執行build and analyze執行,也看樣在GetInfo中在build選項中勾上,每次build都會執行。不過你會看到它在build的時候,會浪費這些分析的時間,導致build時間長。可以參考下面的。 The Xcode static analyzer is a great complement
Time of Update: 2018-12-03
在Objective-C中,事實上與所有的程式設計語言一樣,在兩個數相加時使用加號(+),在兩個數相減時使用減號(-),在兩個數相乘時使用乘號(*),在兩個數相除時使用除號(/)。這些運算子稱為二元算術運算子,因為它們運算兩個值或項。運算子的優先順序你已經看到如何在Objective-C中執行簡單的運算,例如,加法。下面的程式進一步說明了減法、乘法和除法運算。在程式中執行的最後兩個運算引入了一個概念,即一個運算子比另一個運算子有更高的優先順序。事實上,Objective-C中的每一個運算子都有與
Time of Update: 2018-12-03
form http://topic.csdn.net/u/20091212/14/eed674bc-b074-4269-8450-f9ca659103c0.html 1. 最大的相同:都是從c演化過來的物件導向語言。2. 最大的不同:c++是靜態語言,而OC是動態類型識別語言?OC提供了運行期動態綁定機制。 OC裡,把訊息發到一個對象上,如果對象不能處理此訊息,也無所謂。 而c++中,則會crash. 3. 繼承:OC不支援多重繼承。4. 4, 函數名字解析也不同,
Time of Update: 2018-12-03
多繼承Objective-C不支援多重繼承,但是我們有方法實現偽繼承.舉個例子,加入對象A無法處理訊息fun,而對象B可以處理,此時A已經繼承於類C,所以此時A不能再繼承B。我們可以用訊息轉寄的方式,來將訊息轉寄給能夠處理fun訊息的對象B。當然可以這麼實現1 A: 2 -fun 3 { 4 if([B respondTo:@selector(fun)]) 5 { 6 return [B fun]; 7 } 8
Time of Update: 2018-12-03
開發過程中,我們會遇到很多關於字串的操作,它是一個常用的資料類型,下面對它的用法進行了匯總: //1、建立常量字串。 NSString *astring = @"This is aString!"; //2、建立Null 字元串,給予賦值。 NSString *astring = [[NSString alloc]init]; astring = @"This is a String!"; NSLog(@"astring:%@",astring); [
Time of Update: 2018-12-03
我本來想翻譯一下的,但是看到網上以及有一些翻譯的,所以就直接轉載了.原貼地址:http://www.i-alive.com/post/45/英文版地址:https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/_index.html#//apple_ref/doc/uid/TP40007594Objective-C是C語言的一個超集,也就是說,它支援
Time of Update: 2018-12-03
1、首先建立項目,名字為slider:開啟xcode:選擇create a new Xcode project:選擇Single View Application:填寫product Name項目名字,Company Identifier公司標識,class Prefix,關鍵是:Device
Time of Update: 2018-12-03
objective-c基礎資料型別 (Elementary Data Type)1、Object-c提供基礎資料型別 (Elementary Data Type):int、float 、double 、char 範例程式碼測位元組數://資料類型: //整形(int、short int、long int、unsigned int、unsigned short、unsigned long) NSLog(@"整形:");
Time of Update: 2018-12-03
Objective-C語言是物件導向的進階程式設計語言,因此,它具有物件導向編程所具有的一些特性,即:封裝性、繼承性和多態性。今天介紹一下Objective-C中的多態性。 一、什麼是多態 多態:不同對象以自己的方式響應相同的訊息的能力叫做多態。 由於每個類都屬於該類的名字空間,這使得多態稱為可能。類定義中的名字和類定義外的名字並不會衝突。類的執行個體變數和類方法有如下特點:和C語言中結構體中的資料成員一樣,類的執行個體變數也位於該類專屬的名字空間。
Time of Update: 2018-12-03
1. NSAutoreleasePool實際上是個對象引用計數自動處理器。NSAutoreleasePool可以同時有多個,它的組織是個棧,總是存在一個棧頂pool,也就是當前pool,每建立一個pool,就往棧裡壓一個,改變當前pool為建立的pool,然後,每次給pool發送drain訊息,就彈出棧頂的pool,改當前pool為棧裡的下一個 pool。 2.
Time of Update: 2018-12-03
GNUstep Windows Installer提供了Windows平台下的Objective-C的類比開發環境,一共有四個軟體包,其中GNUstep System和GNUstep Core是必裝的,GNUstep Devel和Cairo Backend是選裝的。甭管必裝選裝,一次性全安上,免得以後麻煩。編寫Hello,
Time of Update: 2018-12-03
%@ 對象%d, %i 整數%u 無符整形%f 浮點/雙字%x, %X 二進位整數%o 八進位整數%zu size_t%p 指標%e 浮點/雙字 (科學計算)%g 浮點/雙字%s C 字串%.*s Pascal字串%c 字元%C unichar%lld 64位長整數(long long)%llu 無符64位長整數%Lf 64位雙字%e 是實數,用科學計數法計的格式字元 說明%a
Time of Update: 2018-12-03
對於iOS的應用程式,為了保持記憶體的使用效率,系統會嚴格監視對象的引用計數,當引用計數歸0時,對象將被立即釋放。一般情況下,用release足夠了:alloc/copy/new或者retain一個對象,使用對象,然後用release釋放對象。 但考慮這種情況,如果一個方法需要返回一個建立的對象,而這個方法並不是以alloc/copy/new命名,所以調用者肯定不會使用release來平衡返回對象的引用計數,另一方面,我們的方法也不能使用release,因為這樣做會將對象立即釋放而返回一個Nul
Time of Update: 2018-12-03
2013-03-06 wcdj Objective-C語言是一種物件導向的一種動態程式設計語言,基於ANSI C,其物件導向的文法和思想主要來源於Small-talk。GCC便直接支援Objective-C。該語言在Mac上有著廣泛應用。有興趣的朋友可以參考下面的連結:一個不錯的Tutorial:http://www.otierney.net/objective-c.html一本Online