Time of Update: 2018-12-03
繼續NSString,由於用的多,所以應該重點掌握1、求字串長度NSString *myName = @"AOBAMA"; int length = (int)[myName length];//發現傳回值類型是NSUInteger,不強轉有警告,自己也不知道強轉是不是常用的方法,望看到的網友能告知一下 NSLog(@"字串的長度是:%d",length); if ([myName length] > 5) { NSLog(
Time of Update: 2018-12-03
Foundation中的字典是由鍵-值對組成的資料集合,好比java中的Map,在字典對象中key值必須是唯一的,另外字典對象中的鍵和值都不能為nil。,如果要在字典對象中表示一個空值,可以用NSNull對象(這裡主要指值value)。字典對象也可分為不可變字典和可變字典。1、不可變字典 NSNumber *num1 = [NSNumber numberWithInt:5]; NSNumber *num2 = [NSNumber numberWithInt:10];
Time of Update: 2018-12-03
最近學習了一下objective-c,對於新手,這個裡面加的東西是不是很不習慣啊,是不是會對@property @synthesize這個指令感到比較奇怪呢?畢竟C裡面沒有這個“亂七八糟“的東西啊!!首先介紹一下這個指令@property吧 這個“亂七八糟“的東西呢其實是一個很好的東西,如果你用很C的規範去寫一個類時,你會不會要對這個類的成員進行寫入和讀取資料呢?答案是必然的,所以這時你就得寫一個-(void) setX(id ..) 和一個-(id) X
Time of Update: 2018-12-03
1. 用於通知某個對象該做什麼即通知對象去執行某動作1.1. 在Objective-C中,方括弧還有其它意義:它們用於通知某個對象該做什麼。例如:[shape draw]; //這句話說明,通知對象shape去執行draw這個動作,例如讓一個rectangle去畫一個矩形。1.2. 在Objective-C中,通知對象執行某種操作,被稱為:發送訊息。例如:[shape draw]; //表示向對象shape發送draw訊息。2.
Time of Update: 2018-12-03
轉載自:http://blog.eddie.com.tw/2010/12/11/protocol-in-objective-c/前面提到了OOP的繼承,但不像C++可以有多重繼承,Objective-C是單一繼承的,如果想要做到一個類別同時擁有多種型別的能力,可以透過實作其它型別的interface來達成這個目的。在Java/AS3是用”interface”這個關鍵字,在Objective-C則是用”@protocol”。(有寫過Java/AS3的要特別注意不要把interface跟protoc
Time of Update: 2018-12-03
本文將介紹Objective-C語言的新物性,其中類別(categories)允許在現有的類中添加使用者自己的方法,而協議則是Objective-C語言中特有的一種繼承方式,類似於java語言中的介面。下面我將首先介紹它們的作用,還將以自己在工程中的執行個體予以分析。 一、類別
Time of Update: 2018-12-03
上一節給出了hello world的程式,這裡對該程式做進一步的詳解,原始碼如下:#import <Foundation/Foundation.h>int main(int arvc, char* argv[]){ NSLog(@"Hello World!"); return 0;}1.
Time of Update: 2018-12-03
Objective-C:由Brad
Time of Update: 2018-12-03
比較兩個字串是否相等時,應該用isEqualToString:,而不能僅僅只是比較字串的指標值,例如:NSString *thing1=@"hello 5";NSString *thing2;thing2=[NSString stringWithFormat:@"hello @d",5];if ([thing1 isEqualToString:thing2]){ NSLog(@"They are the same!")}和if (thing1==thing2){
Time of Update: 2018-12-03
1、類目(Category)的基本概念 封裝是物件導向的一個特徵,oc也不例外,但是有的時候我們會碰到一種情況,比如我們封裝了一個類,不想再動它了,但是我們又需要在那個類中增加一個方法,這時候我們就不必在那個類中做修改或者再定義一個它的子類,只需要添加一個類目(Category)即可。 (1) 在類目中定義的方法,會成為原始類的一部分,與其他方法的調用沒有區別
Time of Update: 2018-12-03
在oc中兩個方法是否相同,與參數類型和傳回值無關,之和方法名有關如:在oc中的同一個累中出現這種函數形式就是錯誤的-(void)theAge:(int)age name:(NSString *)name-(NSString *) theAge:(int)age name:(NSString *)nameoc繼承的文法規則是:@interface 子類:父類許可權控制:修飾符 類內部 子類
Time of Update: 2018-12-03
Objective-C中的@property、@synthesize及點文法都是與兩個函數有關的,一是setter函數,另一個是getter函數以前我們是這樣來定義setter與getter函數的@interface Dog:NSObject{int age;}-(void)setAge:(int)newAge;-(void)age;@end@implementation Dog-(void)setAge:(int)newAge{age = newAge;}-(void)age{return
Time of Update: 2018-12-03
1、NSNumber:NSArray、NSDictionary不允許放基礎資料型別 (Elementary Data Type)NSNumber可以把基礎資料型別 (Elementary Data Type)封裝成對象,這樣就可以間接的把基礎資料型別 (Elementary Data
Time of Update: 2018-12-03
[str hasPrefix:@"12"]; //以12開頭 傳回值Bool[str hasSuffix:@"txt"]; //是否以txt結尾 返回Bool//搜尋字串[str rangeOfString:@"345"]; //返回位置 返回NSRange如果找不到返回{NSNotFound,0}//從尾部搜尋NSRange range = [str rangeOfString:@"456" options:NSBackkwardsSearch];#pragma mark
Time of Update: 2018-12-03
NSObject常用的方法:所有的OC對象都有這些方法,見demo的代碼反射:Class的反射通過類名的字串形式執行個體化對象Class class = NSClassFromString(@"Student");Student *stu = [[class alloc] init];類名轉換為字串:Class class = [Student class];NSString *className =
Time of Update: 2018-12-03
copy設計的目的:改變副本的時候,不會影響到原來的對象1、一個對象使用copy或者mutableCopy方法可以建立對象的副本2、copy需要先實現NSCopying協議,建立的是不可改變副本(NSString、NSArray、NSDictionary)mutableCopy
Time of Update: 2018-12-03
Objective-C文法之字串那些事雨松MOMO原創文章如轉載,請註明:轉載至我的獨立網域名稱部落格雨松MOMO程式研究院,原文地址:http://www.xuanyusong.com/archives/381Objective-C 中核心處理字串的類是 NSString 與 NSMutableString ,這兩個類最大的區別就是NSString 建立賦值以後該字串的內容與長度不能在動態更改,除非重新給這個字串賦值。而NSMutableString
Time of Update: 2018-12-03
一、記憶體管理黃金法則:The basic rule to apple is everything thatincreases the reference counter with alloc,[mutable]copy[WithZone:] or retainis in charge of the corresponding [auto]release.如果一個對象使用了alloc,[mutable]
Time of Update: 2018-12-03
Objective-C 2.0增加了class extensions用於解決兩個問題:允許一個對象可以擁有一個私人的interface,且可由編譯器驗證。支援一個公有唯讀,私人可寫的屬性。私人介面(Private Interface)Objective-C 2.0以前, 若要定義私人函數,通常是在實現檔案中聲明一個"Private" category:@interface MyClass (Private) - (id)awesomePrivateMethod; @end然而,
Time of Update: 2018-12-03
轉載:http://hi.baidu.com/delphi9527/blog/item/2f29650d1302f2306159f319.html 在實際工作中有些程式不可避免的需要使用數學函數進行計算,比如地圖程式的地理座標到地圖座標的變換。Objective-C做為ANSI C的擴充,使用C標準庫標頭檔<math.h>中定義的數學常量宏及數學函數來實現基本的數學計算操作,所以不必費神再在Cocoa