Objective-C是一種通用、高級、面向對象的編程語言,是iOS平台以及相關開發的主流編程語言。在TIOBE最新的編程語言排行榜中,Objective-C僅次於C和Java,位居第三。
《Objective-C函數速查實例手冊》全面、系統地介紹了Objective-C中常用的函數和方法,並提供了大量實例,幫助讀者掌握其用法。
全書共分3篇。第1篇介紹Objective-C的發展歷程、特點、技術構成、Objective-C開發環境的構建方法、第一個Objective-C程序數學運算中常用的函數等;第2篇介紹數字對象、字符串對象、數組對象、字典對象、集合、文件、時間和日歷、進程、線程、鎖、數據對象和歸檔中常用的方法;第3篇介紹窗口和顏色、自定義視圖、文本框和文本視圖、圖像和圖像視圖、表視圖以及常用控件中常用的方法。
目錄
第1篇 Objective-C准備篇
第1章 Objective-C學習環境准備 3
1.1 Objective-C基礎 3
1.1.1 Objective-C的發展歷程 3
1.1.2 Objective-C語言的特點 3
1.1.3 技術架構 4
1.2 開發環境 5
1.2.1 注冊開發者賬號 5
1.2.2 下載安裝Xcode 8
1.2.3 更新幫助文檔 12
1.3 編寫第一個Objective-C程序 13
1.3.1 創建項目 13
1.3.2 編寫程序 15
1.3.3 運行程序 15
1.3.4 使用幫助 16
1.4 小結 17
第2章 數學運算(math)函數 18
2.1 算術運算函數 18
2.1.1 rand()函數:產生隨機數 18
2.1.2 abs()函數/labs()函數:整數的絕對值 19
2.1.3 fabs()/fabsf()/fabsl()函數:浮點數的絕對值 19
2.1.4 floor()/floorf()/floorl()函數:向下取整 20
2.1.5 ceil()/ceilf()/ceill()函數:向上取整 21
2.1.6 round()/roundf()/roundl()函數:四舍五入 22
2.1.7 sqrt()/sqrtf()/sqrtl()函數:求平方根 22
2.1.8 fmax()/fmaxf()/fmaxl()函數:求最大值 23
2.1.9 fmin()/fminf()/fminl()函數:求最小值 24
2.1.10 hypot()/hypotf()/hypotl()函數:求直角三角形斜邊的長度 25
2.1.11 fmod()/fmodf()/fmodl()函數:求兩數整除后的余數 26
2.1.12 modf()/modff()/modfl()函數:浮點數分解為整數和小數 27
2.1.13 frexp()/frexpf()/frexpl()函數:浮點數分解尾數和以二為底的指數 28
2.2 三角運算函數 29
2.2.1 sin()/sinf()/sinl()/函數:求正弦值 29
2.2.2 sinh()/sinhf()/sinhl()函數:求雙曲正弦值 30
2.2.3 cos()/cosf()/cosl()函數:求余弦值 30
2.2.4 cosh()/coshf()/coshl()函數:求雙曲余弦值 31
2.2.5 tan()/tanf()/tanl()函數:求正切值 31
2.2.6 tanh()/tanhf()/tanhl()函數:求雙曲正切值 32
2.3 反三角運算 33
2.3.1 asin()/asinf()/asinl()函數:求反正弦值 33
2.3.2 asinh()/asinhf()/asinhl()函數:求反雙曲正弦值 34
2.3.3 acos()/acosf()/acosl()函數:求反余弦值 34
2.3.4 acosh()/acoshf()/acoshl()函數:求反雙曲余弦值 35
2.3.5 atan()/atanf()/atanl()函數:求反正切值 36
2.3.6 atan2()/atan2f()/atanl()函數:求坐標值的反正切值 37
2.3.7 atanh()/atanhf()/atanhl()函數:求反雙曲正切值 37
2.4 指數和對數運算 38
2.4.1 pow()/powf()/powl函數:求n的m次方的值 38
2.4.2 exp()/expf()/expl()函數:求e的x次方的值 39
2.4.3 exp2()/exp2f()/exp2l()函數:2的x的次方的值 39
2.4.4 log()/logf()/logl()函數:求以e為底的對數值 40
2.4.5 log10()/log10f()/log10l()函數:求以10為底的對數值 41
2.5 常量函數 41
2.6 小結 42
第2篇 Cocoa的Foundation框架篇
第3章 數字對象(NSNumber) 45
3.1 整型對象 45
3.1.1 numberWithShort:方法:創建短整型數字對象 45
3.1.2 numberWithUnsignedShort:方法:創建無符號短整型數字對象 45
3.1.3 numberWithInteger:方法:創建整型數字對象 45
3.1.4 numberWithUnsignedInteger:方法:創建無符號整型數字對象 46
3.1.5 numberWithInt:方法:創建整型數字對象 46
3.1.6 numberWithUnsignedInt:方法:創建無符號整型數字對象 46
3.1.7 numberWithLong:方法:創建並初始化長整型數字對象 46
3.1.8 numberWithUnsignedLong:方法:創建並初始化無符號長整型數字對象 46
3.1.9 numberWithLongLong:方法:創建並初始化長長整型數字對象 47
3.1.10 numberWithUnsignedLongLong:方法:創建並初始化無符號長長整型對象 47
3.1.11 initWithShort:方法:初始化短整型數字對象 47
3.1.12 initWithUnsignedShort:方法:初始化無符號短整型數字對象 47
3.1.13 initWithInteger:方法:初始化整型數字對象 47
3.1.14 initWithUnsignedInteger:方法:初始化無符號整型數字對象 47
3.1.15 initWithInt:方法:初始化整型數字對象 48
3.1.16 initWithUnsignedInt:方法:初始化無符號整型數字對象 48
3.1.17 initWithLong:方法:初始化長整型數字對象 48
3.1.18 initWithUnsignedLong:方法:初始化無符號長整型數字對象 48
3.1.19 initWithLongLong:方法:初始化長長整型數字對象 48
3.1.20 initWithUnsignedLongLong:方法:初始化無符號長長整型數字對象 48
3.1.21 shortValue:方法:取短整型數字對象的值 49
3.1.22 unsignedShortValue:方法:取無符號短整型數字對象的值 49
3.1.23 integerValue:方法:取整型數字對象的值 49
3.1.24 unsignedIntegerValue:方法:取無符號整型數字對象的值 49
3.1.25 intValue:方法:取整型數字對象的值 49
3.1.26 unsignedIntValue:方法:取無符號整型數字對象的值 49
3.1.27 longValue:方法:取長整型數字對象的值 49
3.1.28 unsignedLongValue:方法:取無符號長整型數字對象的值 50
3.1.29 longlongValue:方法:取長長整型數字對象的值 50
3.1.30 unsignedLongLongValue:方法:取無符號長長整型數字對象的值 50
3.2 字符型對象 51
3.2.1 numberWithChar:方法:創建並初始化字符型數字對象 51
3.2.2 numberWithUnsignedChar:方法:創建並初始化無符號字符型數字對象 51
3.2.3 initWithChar:方法:初始化字符型對象 51
3.2.4 initWithUnsignedChar:方法:初始化無符號字符型對象 52
3.2.5 charValue:方法:取字符型數字對象的值 52
3.2.6 unsignedCharValue:方法:取無符號字符型數字對象的值 52
3.3 單精度型對象 53
3.3.1 numberWithFloat:方法:創建並初始化單精度型數字對象 53
3.3.2 initWithFloat:方法:初始化單精度型數字對象 53
3.3.3 floatValue:方法:取單精度型數字對象的值 53
3.4 雙精度型對象 54
3.4.1 numberWithDouble:方法:創建並初始化一個雙精度型數字對象 54
3.4.2 initWithDouble:方法:初始化雙精度型數字對象 54
3.4.3 doubleValue:方法:取雙精度型數字對象的值 54
3.5 布爾型對象 55
3.5.1 numberWithBool:方法:創建並初始化布爾型數字對象 55
3.5.2 initWithBool:方法:初始化布爾類型對象 56
3.5.3 boolValue:方法:取布爾型數字對象的值 56
3.6 數字對象通用方法 57
3.6.1 isEqualToNumber:方法:比較兩對象值是否相等 57
3.6.2 compare:方法:比較值的大小 57
3.7 小結 58
第4章 字符串對象(NSString) 59
4.1 創建及初始化 59
4.1.1 string:方法:創建字符串 59
4.1.2 stringWithstring:方法:用字符串來創建字符串 59
4.1.3 stringWithCstring:方法:創建C字符串 60
4.1.4 stringWithFormat:方法:創建NSLog()格式的字符串 60
4.1.5 stringWithContentsOfFile:方法:將創建的字符串設置為指定文件的內容 61
4.1.6 stringWithContentsOfURL:方法:將創建字符串設置為url的內容 62
4.1.7 stringWithUTF8String:方法:將創建的字符串轉換為UTF8字符串 62
4.1.8 init:方法:初始化字符串 63
4.1.9 initWithString:方法:用字符串來初始化字符串 63
4.1.10 initWithCString:方法:初始化字符串 64
4.1.11 initWithFormat:方法:用NSLog()格式初始化字符串 64
4.1.12 initWithContentsOfFile:方法:將初始化的字符串設置為指定文件的內容 65
4.1.13 initWithContentsOfURL:方法:將初始化的字符串設置為url的內容 66
4.1.14 initWithUTF8String:方法:將初始化的字符串轉換為UTF8字符串 66
4.2 判斷和比較 67
4.2.1 isEqualTostring:方法:比較字符串是否相等 67
4.2.2 hasPrefix:方法:判斷字符串是否以某個字符開始 68
4.2.3 hasSuffix:方法:判斷字符串是否以某個字符結束 68
4.2.4 compare:方法:比較字符串的大小 69
4.2.5 caseInsensitiveCompare:方法:不考慮大小寫的比較大小 70
4.3 大小寫轉換 71
4.3.1 uppercaseString:方法:小寫字母轉為大寫字母 71
4.3.2 lowercaseString:方法:大寫字母轉為小寫字母 72
4.3.3 capitalizedString:方法:將每個單詞的首字母大寫 72
4.4 截取 73
4.4.1 substringToIndex:方法:從字符串的開頭一直截取到指定的位置 73
4.4.2 substringFromIndex:方法:從指定位置開始截取字符串直到結束 73
4.4.3 substringWithRange:方法:根據指定范圍返回子字符串 74
4.4.4 characterAtIndex:方法:返回索引號所在字符串中的字符 75
4.5 轉換類型 75
4.5.1 doubleValue:/floatValue:方法:返回轉換為浮點類型的值 75
4.5.2 intValue:方法:返回轉換為整型的值 76
4.5.3 boolValue:方法:返回轉換為布爾類型的值 76
4.6 對文件的處理 77
4.6.1 stringByAppendingPathExtension:方法:為文件添加擴展名 77
4.6.2 pathExtension:方法:獲取文件擴展名 78
4.6.3 stringByDeletingPathExtension:方法:刪除擴展名 78
4.6.4 writeToFile:方法:將字符串寫入到文件 79
4.6.5 writeToURL:方法:將字符串寫入到url中 79
4.6.6 stringByExpandingTildeInPath:方法:將「~」替換成系統的主目錄 80
4.6.7 stringByAbbreviatingWithTildeInPath:方法:將系統主目錄替換為「~」 81
4.6.8 lastPathComponent:方法:獲取路徑中的文件名 81
4.6.9 stringByDeletingLastPathComponent:方法:獲取路徑中文件所在的位置 82
4.6.10 stringByAppendingPathComponent:方法:組合位置和文件名 82
4.6.11 isAbsolutePath:方法:判斷絕對路徑 83
4.7 其他 84
4.7.1 length:方法:求字符串的長度 84
4.7.2 stringByAppendingString:方法:字符串后面增加一個新字符串 84
4.7.3 rangeOfString:方法:查找字符串中是否包含其他字符串 85
4.7.4 stringByTrimmingCharactersInSet:方法:去除空格或回車 86
4.8 可變字符串 86
4.8.1 stringWithCapacity:方法:按照固定長度生成空字符串 86
4.8.2 initWithCapacity:方法:初始化一個固定長度的字符串 87
4.8.3 appendString:方法:在字符串的末尾附加另一個字符串 87
4.8.4 appendFormat:方法:附加一個格式化字符串 88
4.8.5 SetString:方法:將字符串設置為規定的內容 88
4.8.6 insertString:方法:在指定位置插入字符串 89
4.8.7 deleteCharactersInRange:方法:刪除指定范圍的字符串 89
4.8.8 replaceCharactersInRange:方法:使用字符串代替指定范圍的字符串 90
4.8.9 replaceOccurrencesOfString:方法:替換 91
4.9 小結 91
第5章 數組對象(NSArray) 92
5.1 創建及初始化 92
5.1.1 array:方法:創建數組 92
5.1.2 arrayWithArray:方法:通過一個數組創建另一個數組 92
5.1.3 arrayWithContentsOfFile:方法:創建數組將內容設置為指定文件內容 93
5.1.4 arrayWithContentsOfURL:方法:創建數組將內容設置為url指定內容 94
5.1.5 arrayWithObject:方法:創建具有一個元素的數組 95
5.1.6 arrayWithObjects:方法:創建具有多個元素的數組 95
5.1.7 init:方法:初始化數組 96
5.1.8 initWithArray:方法:用數組初始化數組 96
5.1.9 initWithContentsOfFile:方法:初始化數組將內容設置為指定文件內容 97
5.1.10 initWithContentsOfURL:方法:初始化數組將內容設置為url指定內容 98
5.1.11 initWithObjects:方法:初始化具有多個元素的數組 98
5.2 數組元素的操作 99
5.2.1 containsObject:方法:判斷數組中是否包含某個元素 99
5.2.2 count:方法:計算元素個數 100
5.2.3 firstObjectCommonWithArray:方法:獲取首元素 100
5.2.4 lastObject:方法:獲取最后一個元素 101
5.2.5 objectAtIndex:方法:獲取在某個位置的數組元素 101
5.2.6 objectAtIndexs:方法:獲取數組元素 102
5.2.7 arrayByAddingObject:方法:在數組末尾添加元素 102
5.2.8 arrayByAddingObjectsFromArray:方法:在數組的末尾添加另一個數組 103
5.2.9 subarrayWithRange:方法:數組的一部分創建數組 104
5.2.10 isEqualToArray:方法:比較數組是否相等 104
5.2.11 indexOfObject:方法:返回元素所在的位置 105
5.2.12 indexOfObjectIdenticalTo:方法:返回元素所在的位置 106
5.2.13 componentsJoinedByString:方法:數組轉換為字符串 106
5.2.14 componentsSeparatedByString:方法:字符串轉換為數組 107
5.2.15 sortedArrayHint:方法:數組轉換為數據對象 108
5.2.16 writeToFile:方法:將數組中的內容寫入到文件 108
5.2.17 writeToUrl:方法:將數組中的內容寫入到url 109
5.2.18 objectEnumerator:方法:數組元素從前向后訪問 110
5.2.19 reverseObjectEnumerator:方法:數組元素從后向前訪問 111
5.2.20 pathsMatchingExtensions:方法:查看某文件夾下的東西 112
5.2.21 sortedArrayUsingFunction:方法:實現數組元素的簡單排序 112
5.3 可變數組 113
5.3.1 arrayWithCapacity:方法:創建一個具有固定長度的可變數組 113
5.3.2 initWithCapacity:方法:初始化一個具有固定長度的可變數組 114
5.3.3 addObject:方法:添加數組元素 114
5.3.4 addObjectsFromArray:方法:用數組創建可變數組 115
5.3.5 removeObject:方法:刪除指定的元素 116
5.3.6 removeAllObjects:方法:刪除可變數組中的所有元素 116
5.3.7 removeLastObject:方法:刪除可變數組中的最后一個元素 117
5.3.8 removeObjectAtIndex:方法:刪除指定位置的元素 118
5.3.9 removeObjectsAtIndex:方法:刪除可變數組中的元素 119
5.3.10 removeObjectsInRange:方法:刪除某個范圍內的可變數組中的元素 120
5.3.11 removeObjectsInArray:方法:刪除與另一個數組相同的元素 120
5.3.12 replaceObjectAtIndex:方法:替換可變數組中某一位置的元素 121
5.3.13 replaceObjectsAtIndexes:方法:替換可變數組中的多個元素 122
5.3.14 replaceObjectsInRange:方法:替換某一范圍的數組元素 123
5.3.15 insertObject:方法:在某一位置插入數組元素 124
5.3.16 insertObjects:方法:在某一位置或范圍插入另一數組元素 125
5.3.17 exchangeObjectAtIndex:方法:交換兩個元素 126
5.3.18 setArray:方法:設置可變數組中內容 126
5.4 小結 127
第6章 字典對象(NSDictionary) 128
6.1 創建及初始化 128
6.1.1 dictionary:方法:創建字典 128
6.1.2 dictionaryWithContentsOfFile:方法:將創建的字典內容設置為指定文件內容 128
6.1.3 dictionaryWithContentsOfURL:方法:將創建的字典內容設置為指定url內容 129
6.1.4 dictionaryWithDictionary:方法:用字典創建字典 130
6.1.5 dictionaryWithObject:方法:創建具有一個鍵-值的字典 131
6.1.6 dictionaryWithObjects:方法:創建具有多個鍵-值的字典 131
6.1.7 dictionaryWithObjectsAndKeys:方法:創建具有多個鍵-值的字典 132
6.1.8 init:方法:初始化字典 133
6.1.9 initWithContentsOfFile:方法:將初始化的字典內容設置為指定文件內容 133
6.1.10 initWithContentsOfURL:方法:將初始化的字典內容設置為指定url內容 134
6.1.11 initWithDictionary:方法:用字典初始化字典 135
6.1.12 initWithObjects:方法:初始化具有多個鍵-值的字典 135
6.1.13 initWithObjectsAndKeys:方法:初始化具有多個鍵-值的字典 136
6.2 訪問鍵-值 137
6.2.1 objectForKey:方法:返回鍵的值 137
6.2.2 allKeys:方法:返回所有的鍵 137
6.2.3 allValue:方法:返回所有的值 138
6.2.4 allKeysForObject:方法:返回值所對應的鍵 139
6.2.5 keyEnumerator:方法:將字典中所有的鍵放到NSEnumerator對象中 139
6.2.6 objectEnumerator:方法:將字典中所有的值放到一個NSEnumerator對象中 140
6.3 文件的處理 141
6.3.1 fileCreationDate:方法:文件創建日期 141
6.3.2 fileModificationDate:方法:文件修改的日期 141
6.3.3 fileSize:方法:文件的大小 142
6.3.4 fileExtensionHidden:方法:擴展名是否隱藏 142
6.3.5 fileType:方法:文件的類型 143
6.3.6 fileGroupOwnerAccountID:方法:文件所屬組標識 144
6.3.7 fileGroupOwnerAccountName:方法:文件所屬組名 144
6.3.8 fileHFSCreatorCode:方法:文件分層系統創建者編碼 145
6.3.9 fileHFSTypeCode:方法:文件分層系統類型編碼 145
6.3.10 fileIsAppendOnly:方法:文件是否只讀 146
6.3.11 fileIsImmutable:方法:文件是否可變 147
6.3.12 fileOwnerAccountID:方法:文件所屬人標識 147
6.3.13 fileOwnerAccountName:方法:文件所屬人 148
6.3.14 filePosixPermissions:方法:權限 148
6.3.15 fileSystemFileNumber:方法:文件系統的文件編號 149
6.3.16 fileSystemNumber:方法:文件系統編號 149
6.3.17 writeToFile:方法:字典內容寫入文件中 150
6.3.18 writeToURL:方法:字典內容寫入url中 151
6.4 其他 152
6.4.1 count:方法:字典鍵-值個數 152
6.4.2 isEqualToDictionary:方法:判斷字典是否相等 153
6.5 可變字典 153
6.5.1 dictionaryWithCapacity:方法:創建固定長度的可變字典 154
6.5.2 initWithCapacity:方法:初始化固定長度的可變字典 154
6.5.3 setObject:方法:設置鍵-值 154
6.5.4 setDictionary:方法:用字典設置可變字典中的內容 155
6.5.5 removeAllObjects:方法:刪除所有的內容 156
6.5.6 removeObjectForKey:方法:刪除鍵所對應的值 156
6.5.7 removeObjectsForKeys:方法:刪除多個鍵所有的值 157
6.5.8 addEntriesFromDictionary:方法:將字典中的鍵-值添加到可變字典中 158
6.6 小結 159
第7章 集合(NSSet) 160
7.1 創建以初始化 160
7.1.1 set:方法:創建集合 160
7.1.2 setWithArray:方法:用數組創建集合 160
7.1.3 setWithObject:方法:創建具有一個元素的集合 161
7.1.4 setWithObjects:方法:創建具有多個元素的集合 161
7.1.5 setWithSet:方法:集合創建集合 162
7.1.6 init:方法:初始化集合 163
7.1.7 initWithArray:方法:用數組初始化集合 163
7.1.8 initWithObjects:方法:初始化具有多個元素的集合 164
7.1.9 initWithSet:方法:集合初始化集合 164
7.2 訪問元素 165
7.2.1 objectEnumerator:方法:將所有集合中的元素放到NSEnumerator對象中 165
7.2.2 allObjects:方法:返回集合中所有的元素 166
7.2.3 anyObject:方法:返回任意一個元素 167
7.2.4 count:方法:返回元素個數 167
7.3 判斷比較 168
7.3.1 containsObject:方法:判斷集合中是否包含某個元素 168
7.3.2 member:方法:判斷集合中是否包含某個元素並返回 168
7.3.3 isSubsetOfSet:方法:判斷一個集合是否是一個集合的子集 169
7.3.4 intersectsSet:方法:判斷交集 170
7.3.5 isEqualToSet:方法:判斷集合是否相等 170
7.4 可變集合 171
7.4.1 setWithCapacity:方法:創建具有固定長度的可變集合 171
7.4.2 initWithCapacity:方法:初始化具有固定長度的可變集合 172
7.4.3 setSet:方法:通過集合設置可變集合的內容 172
7.4.4 addObject:方法:添加元素 173
7.4.5 addObjectsFromArray:方法:添加數組中的元素 173
7.4.6 removeAllObjects:方法:刪除所有元素 174
7.4.7 removeObject:方法:刪除指定的元素 175
7.4.8 unionSet:方法:添加集合元素 176
7.4.9 minusSet:方法:去除另一個集合中的元素 176
7.4.10 intersectSet:方法:做交集 177
7.5 小結 178
第8章 文件(NSFileManager、NSFileHandle) 179
8.1 defaultManger:方法:創建文件管理器 179
8.2 文件與目錄的操作 179
8.2.1 createFileAtPath:方法:創建文件 179
8.2.2 copyItemAtPath:方法:復制文件 180
8.2.3 moveItemAtPath:方法:移動文件 181
8.2.4 removeItemFileAtPath:方法:刪除文件 182
8.2.5 attributesOfItemAtPath:方法:獲取文件的屬性 182
8.2.6 setAttributes:方法:更改屬性 183
8.2.7 currentDirectoryPath:方法:獲取當前的目錄 184
8.2.8 changeCurrentDirectoryPath:方法:更改目錄 185
8.2.9 createDirectoryAtPath:方法:創建目錄 186
8.3 獲取文件和目錄信息 187
8.3.1 contentsAtPath:方法:獲取文件中的信息 187
8.3.2 enumeratorAtPath:方法:枚舉目錄 187
8.3.3 contentsOfDirectoryAtPath:方法:列舉目錄 188
8.4 判斷文件 189
8.4.1 fileExistsAtPath:方法:判斷文件是否存在 189
8.4.2 isReadableFile:方法:判斷是否能進行讀取操作 190
8.4.3 isWritableFileAtPath:方法:判斷是否能進行寫入操作 190
8.4.4 isDeletableFileAtPath:方法:判斷是否可刪除 191
8.4.5 isExecutableFileAtPath:方法:判斷是否可以執行 192
8.4.6 contentsEqualAtPath:方法:判斷是否相等 192
8.5 文件讀取 193
8.5.1 init:方法:初始化文件讀寫對象 193
8.5.2 fileHandleForReadingAtPath:方法:讀取時打開文件 194
8.5.3 fileHandleForWritingAtPath:方法:寫入時打開文件 194
8.5.4 fileHandleForUpdatingAtPath:方法:更新時打開文件 195
8.5.5 writeData:方法:數據寫入文件 196
8.5.6 readDataToEndOfFile:方法:讀取數據 197
8.5.7 readDataOfLength:方法:讀取固定大小的內容 197
8.5.8 offsetInFile:方法:獲取當前偏移量 198
8.5.9 seekToFileOffset:方法:設置當前的偏移量 199
8.5.10 seekToEndOfFile:方法:將偏移量定位到文件尾 199
8.5.11 truncateFileAtOffset:方法:設置字節 200
8.5.12 availableData:方法:返回可用數據 201
8.5.13 closeFile:方法:關閉文件 201
8.6 目錄工具函數 202
8.6.1 NSUserName()函數:返回登錄名 202
8.6.2 NSFullUserName()函數:返回完整用戶名 202
8.6.3 NSHomeDirectory()函數:返回路徑 203
8.6.4 NSHomeDirectoryForUser()函數:返回用戶的主目錄 203
8.6.5 NSTemporaryDirectory()函數:返回臨時文件的路徑目錄 204
8.7 小結 204
第9章 時間和日歷(NSDate、NSDateFormatter、NSCalendarDate、NSCalendar、NSTimeZone、NSTimer) 205
9.1 時間的創建及初始化 205
9.1.1 date:方法:創建時間 205
9.1.2 dateWithString:方法:用字符串創建時間 206
9.1.3 dateWithNaturalLanguageString:方法:用字符串創建時間 206
9.1.4 dateWithTimeInterval:方法:用時間間隔創建時間 207
9.1.5 dateWithTimeIntervalSince1970:方法:用時間間隔創建時間 208
9.1.6 dateWithTimeIntervalSinceNow:方法:用時間間隔創建時間 208
9.1.7 dateWithTimeIntervalSinceReferenceDate:方法:用時間間隔創建時間 209
9.1.8 init:方法:初始化時間 209
9.1.9 initWithString:方法:用字符串初始化時間 210
9.1.10 initWithTimeInterval:方法:用時間間隔初始化時間 210
9.1.11 initWithTimeIntervalSince1970:方法:用時間間隔初始化時間 211
9.1.12 initWithTimeIntervalSinceNow:方法:用時間間隔初始化時間 211
9.1.13 initWithTimeIntervalSinceReferenceDate:方法:用時間間隔初始化時間 212
9.2 時間的比較 212
9.2.1 isEqualToDate:方法:比較是否相等 212
9.2.2 compare:方法:比較時間 213
9.2.3 earlierDate:方法:比較哪個時間早 214
9.2.4 laterDate:方法:比較哪個時間晚 214
9.3 獲取時間 215
9.3.1 dateByAddingTimeInterval:方法:獲取經過時間間隔后的時間 215
9.3.2 distantPast:方法:獲取過去的時間 215
9.3.3 distantFuture:方法:獲取將來的時間 216
9.3.4 timeIntervalSinceDate:方法:獲取兩時間的差值 216
9.3.5 timeIntervalSinceNow:方法:獲取兩時間的差值 217
9.3.6 timeIntervalSince1970:方法:獲取兩時間的差值 218
9.3.7 timeIntervalSinceReferenceDate:方法:獲取兩時間的差值 218
9.4 時間和字符串的相互轉換 219
9.4.1 init:方法:初始化用於時間轉換的對象 219
9.4.2 setDateFormat:方法:設置格式 219
9.4.3 initWithDateFormat:方法:初始化用於時間轉換的對象 220
9.5 日歷時間的創建及初始化 221
9.5.1 calendarDate:方法:創建日歷時間 221
9.5.2 dateWithYear:方法:創建日歷時間並設置內容 221
9.5.3 dateWithString:方法:創建日歷時間並設置內容及格式 222
9.5.4 init:方法:初始化日歷時間 223
9.5.5 initWithYear:方法:初始化日歷時間並設置內容 223
9.5.6 initWithString:方法:初始化日歷時間並設置內容及格式 224
9.6 獲取日歷時間信息 224
9.6.1 dayOfWeek:方法:獲取天數 225
9.6.2 dayOfMonth:方法:獲取天數 225
9.6.3 dayOfYear:方法:獲取天數 226
9.6.4 hourOfDay:方法:獲取時間 226
9.6.5 minuteOfHour:方法:獲取時間 227
9.6.6 secondOfMinute:方法:獲取時間 227
9.6.7 monthOfYear:方法:獲取時間 228
9.6.8 yearOfCommonEra:方法:獲取年 228
9.6.9 dayOfCommonEra:方法:獲取天數 229
9.6.10 calendarFormat:方法:獲取日歷的格式 229
9.6.11 timeZone:方法:獲取時區 230
9.6.12 dateByAddingYears:方法:獲取日期時間 230
9.7 設置日歷時間 231
9.7.1 setCalendarFormat:方法:設置日歷的格式 231
9.7.2 setTimeZone:方法:設置時區 231
9.8 日歷的使用 232
9.8.1 currentCalendar:方法:創建日歷 232
9.8.2 autoupdatingCurrentCalendar:方法:獲取日歷 233
9.8.3 initWithCalendarIdentifier:方法:初始化日歷 233
9.8.4 local:方法:獲取區域 234
9.8.5 firstWeekday:方法:獲取每周的第一天 235
9.8.6 minimumDaysInFirstWeek:方法:獲取天數 235
9.8.7 calendarIdentifier:方法:獲取日歷 236
9.8.8 setFirstWeekday:方法:設置每周的第一天 236
9.8.9 setMinimumDaysInFirstWeek:方法:設置天數 237
9.9 時區的使用 237
9.9.1 timeZoneWithName:方法:用已知時區創建時區 237
9.9.2 timeZoneWithAbbreviation:方法:用已知時區創建時區 238
9.9.3 timeZoneForSecondsFromGMT:方法:用偏移創建時區 239
9.9.4 initWithName:方法:用已知時區初始化時區 239
9.9.5 systemTimeZone:方法:獲取系統的時區 240
9.9.6 localTimeZone:方法:獲取本地時區 240
9.9.7 knownTimeZoneNames:方法:返回所有時區 240
9.9.8 name:方法:獲取名稱 241
9.9.9 abbreviation:方法:獲取縮寫 242
9.9.10 secondsFromGMT:方法:獲取秒數 242
9.10 定時器的使用 243
9.10.1 timerWithTimeInterval:方法:創建定時器 243
9.10.2 initWithFireDate:方法:初始化定時器 244
9.10.3 setFireDate:方法:設置時間 244
9.10.4 fireDate:方法:返回時間 245
9.10.5 invalidate:方法:使定時器無效 245
9.10.6 isValid:方法:判斷是否有效 246
9.11 小結 246
第10章 進程、線程、鎖(NSProcessInfo、NSThread、NSLock) 247
10.1 使用進程 247
10.1.1 processInfo:方法:創建進程 247
10.1.2 init:方法:初始化進程 247
10.1.3 processName:方法:獲取進程的名稱 248
10.1.4 environment:方法:獲取變量/值 248
10.1.5 globallyUniqueString:方法:生成字符串 249
10.1.6 operatingSystem:方法:獲取操作系統信息 250
10.1.7 operatingSystemName:方法:獲取操作系統的名稱 250
10.1.8 operatingSystemVersionString:方法:獲取操作系統的版本信息 251
10.1.9 processIdentifier:方法:獲取進程的標識符 251
10.1.10 arguments:方法:獲取進程的參數 252
10.1.11 hostName:方法:獲取主機名稱 252
10.1.12 setProcessName:方法:設置進程的名稱 253
10.1.13 processorCount:方法:獲取CPU的數目 253
10.2 線程的創建及初始化 254
10.2.1 detachNewThreadSelector:方法:創建線程 254
10.2.2 init:方法:初始化線程 255
10.2.3 initWithTarget:方法:初始化線程 255
10.3 執行線程 256
10.3.1 start:方法:開啟線程 256
10.3.2 cancel:方法:取消線程 257
10.3.3 exit:方法:結束線程 258
10.4 獲取與設置線程 259
10.4.1 currentThread:方法:獲取當前線程 259
10.4.2 threadPriority:方法:獲取屬性值 259
10.4.3 setThreadPriority:方法:設置屬性值 260
10.4.4 name:方法:獲取名稱 260
10.4.5 setName:方法:設置名稱 261
10.4.6 stackSize:方法:獲取堆棧 261
10.4.7 setStackSize:方法:設置堆棧 262
10.5 判斷線程 262
10.5.1 isMultiThreaded:方法:判斷線程是否為主線程 262
10.5.2 isExecuting:方法:判斷線程是否在執行 263
10.5.3 isCancelled:方法:判斷線程是否取消 264
10.5.4 isFinished:方法:判斷線程是否結束 264
10.6 使用互斥鎖 265
10.6.1 lock:方法:調用鎖 265
10.6.2 unlock:方法:關閉鎖 265
10.6.3 trylock:方法:鎖定鎖 267
10.6.4 lockBeforeDate:方法:在一定時間內獲取鎖 267
10.7 使用遞歸鎖 268
10.7.1 lock:方法:調用鎖 268
10.7.2 unlock:方法:關閉鎖 268
10.7.3 tryLock:方法:獲取鎖 268
10.7.4 lockBeforeDate:方法:在一定時間內獲取鎖 268
10.8 使用條件鎖 270
10.8.1 initWithCondition:方法:初始化條件鎖 270
10.8.2 condition:方法:獲取條件 270
10.8.3 lockWhenCondition:方法:在條件允許下調用鎖 271
10.8.4 unlockWithCondition:方法:在條件允許下關閉鎖 271
10.8.5 tryLockWhenCondition:方法:在條件允許下獲取鎖 272
10.8.6 lockWhenCondition:方法:在條件和時間允許下獲取鎖 273
10.8.7 tryLock:方法:獲取鎖 274
10.8.8 lockBeforeDate:方法:在一定時間下獲取鎖 274
10.8.9 lock:方法:調用鎖 275
10.8.10 unlock:方法:關閉鎖 275
10.9 小結 276
第11章 數據對象及歸檔(NSData、NSKeyedArchiver) 277
11.1 數據對象的創建及初始化 277
11.1.1 data:方法:創建數據對象 277
11.1.2 dataWithBytes:方法:用已有數據創建數據對象 277
11.1.3 dataWithContentsOfFile:方法:將數據對象內容設置為指定文件內容 278
11.1.4 dataWithContentsOfURL:方法:將創建對象的內容設置為url指定的內容 279
11.1.5 dataWithData:方法:用已有數據對象創建新的數據對象 280
11.1.6 init:方法:初始化數據對象 280
11.1.7 initWithBytes:方法:用已有數據初始化數據對象 281
11.1.8 initWithContentsOfFile:方法:對數據對象初始化並將其設置為指定文件內容 281
11.1.9 initWithContentsOfURL:方法:對數據對象初始化並將其設置為指定url內容 282
11.1.10 initWithData:方法:用已有數據對象初始化新的數據對象 283
11.2 數據對象的使用 283
11.2.1 bytes:方法:將數據對象轉換為字符 283
11.2.2 dataUsingEncoding:方法:將字符串轉換為數據對象 284
11.2.3 length:方法:計算數據對象的長度 285
11.2.4 isEqualToData:方法:判斷兩個數據對象是否相等 285
11.2.5 subdataWithRange:方法:截取數據對象 286
11.2.6 writeToFile:方法:寫入文件 286
11.2.7 writeToURL:方法:寫入url 287
11.3 可變數據對象 288
11.3.1 dataWithCapacity:方法:創建一個具有固定空間大小的可變數據對象 288
11.3.2 dataWithLength:方法:創建具有固定長度的可變數據對象 288
11.3.3 initWithCapacity:方法:初始化具有固定空間大小的可變數據對象 289
11.3.4 initWithLength:方法:初始化具有固定長度的可變數據對象 289
11.3.5 setData:方法:設置內容 290
11.3.6 setLength:方法:設置長度 290
11.3.7 appendBytes:方法:添加數據 291
11.3.8 appendData:方法:添加數據對象 292
11.3.9 mutableBytes:方法:可變數據對象轉化為字符 292
11.3.10 replaceBytesInRange:方法:替換 293
11.3.11 resetBytesInRange:方法:刪除 293
11.4 歸檔 294
11.4.1 archiveRootObject:方法:數據歸檔 294
11.4.2 unarchiveObjectWithFile:方法:取消歸檔 295
11.4.3 encodeBool:方法:對布爾類型的數據編碼 296
11.4.4 decodeBoolForKey:方法:對布爾類型數據解碼 296
11.4.5 encodeInt:方法:對整型數據編碼 297
11.4.6 decodeIntForKey:方法:對整型數據解碼 297
11.4.7 encodeFloat:/encodeDouble:方法:對浮點型數據編碼 299
11.4.8 decodeFloatForKey:/decodeDoubleForKey:方法:對浮點型數據解碼 299
11.4.9 encodeObject:方法:對對象進行編碼 301
11.4.10 decodeObjectForKey:方法:對對象進行解碼 301
11.4.11 archivedDataWithRootObject:方法:將其他類型的數據進行轉換 302
11.4.12 initForWritingWithMutableData:方法:初始化 303
11.4.13 initForReadingWithData:方法:初始化 304
11.5 小結 304
第3篇 Cocoa的Application框架篇
第12章 窗口和顏色(NSWindow、NSColor) 307
12.1 獲取窗口信息 307
12.1.1 aspectRatio:方法:獲取窗口的縱橫比 307
12.1.2 orderedIndex:方法:獲取索引 307
12.1.3 title:方法:獲取窗口的標題 308
12.1.4 miniwindowTitle:方法:獲取窗口最小化后的標題 308
12.1.5 frame:方法:獲取窗口的位置和大小 309
12.1.6 minSize:方法:獲取窗口的最小尺寸 310
12.1.7 maxSize:方法:獲取窗口的最大尺寸 310
12.1.8 miniwindowImage:方法:獲取窗口最小化后的圖片 311
12.1.9 backgroundColor:方法:獲取窗口的背景顏色 311
12.1.10 childWindows:方法:獲取子窗口 312
12.1.11 alphaValue:方法:獲取窗口的透明度值 312
12.2 設置窗口 313
12.2.1 setAspectRatio:方法:設置窗口的縱橫比 313
12.2.2 setIsVisible:方法:設置窗口是否可見 314
12.2.3 setTitle:方法:設置窗口標題 314
12.2.4 setMiniwindowTitle:方法:設置窗口最小化后的標題 315
12.2.5 setIsMiniaturized:方法:設置窗口是否最小化 315
12.2.6 setIsZoomed:方法:設置窗口是否最大化 316
12.2.7 setFrame:方法:設置窗口的位置和大小 317
12.2.8 setFrameOrigin:方法:設置窗口的位置 318
12.2.9 setFrameTopLeftPoint:方法:設置窗口的位置 319
12.2.10 setMinSize:方法:設置窗口的最小尺寸 319
12.2.11 setMaxSize:方法:設置窗口的最大尺寸 320
12.2.12 setMiniwindowImage:方法:設置窗口最小化后的圖片 321
12.2.13 setBackgroundColor:方法:設置窗口的背景顏色 322
12.2.14 setCanHide:方法:設置窗口是否可以隱藏 322
12.2.15 setAlphaValue:方法:設置窗口的透明度值 324
12.2.16 disableFlushWindow:方法:將窗口設置為禁用的 324
12.2.17 setHasShadow:方法:設置窗口的陰影 325
12.3 判斷窗口 326
12.3.1 isVisible:方法:判斷窗口是否可見 326
12.3.2 isMiniaturized:方法:判斷窗口是否最小化 326
12.3.3 isZoomed:方法:判斷窗口是否最大化 327
12.3.4 canHide:方法:判斷窗口是否可以隱藏 327
12.3.5 hasShadow:方法:判斷窗口是否有陰影 329
12.3.6 isMiniaturizable:方法:判斷窗口是否有最小化按鈕 329
12.3.7 hasTitleBar:方法:判斷窗口是否有工具欄 330
12.4 創建自定義顏色對象 330
12.4.1 colorWithCalibratedRed:方法:用標准RGB分量創建顏色對象 330
12.4.2 colorWithCalibratedWhite:方法:用標准灰度分量創建顏色對象 331
12.4.3 colorWithCalibratedHue:方法:用標准HSB分量創建顏色對象 331
12.4.4 colorWithDeviceCyan:方法:用設備CMYB分量創建顏色對象 332
12.4.5 colorWithDeviceRed:方法:用設備RGB分量創建顏色對象 333
12.4.6 colorWithDeviceWhite:方法:用設備灰度分量創建顏色對象 333
12.4.7 colorWithDeviceHue:方法:用設備HSB分量創建顏色對象 334
12.4.8 colorWithPatternImage:方法:用圖像創建顏色對象 334
12.5 創建顏色對象 335
12.5.1 redColor:方法:用紅色創建顏色對象 335
12.5.2 greenColor:方法:用綠色創建顏色對象 335
12.5.3 blueColor:方法:用藍色創建顏色對象 336
12.5.4 cyanColor:方法:用青色創建顏色對象 336
12.5.5 magentaColor:方法:用紫紅色創建顏色對象 337
12.5.6 yellowColor:方法:用黃色創建顏色對象 337
12.5.7 blackColor:方法:用黑色創建顏色對象 338
12.5.8 brownColor:方法:用棕色創建顏色對象 338
12.5.9 darkGrayColor:方法:用深灰色創建顏色對象 338
12.5.10 grayColor:方法:用灰色創建顏色對象 339
12.5.11 lightGrayColor:方法:用淺灰色創建顏色對象 339
12.5.12 orangeColor:方法:用橙色創建顏色對象 340
12.5.13 purpleColor:方法:用紫色創建顏色對象 340
12.5.14 whiteColor:方法:用白色創建顏色對象 341
12.6 獲取顏色分量 341
12.6.1 redComponent:方法:獲取紅色的分量 341
12.6.2 greenComponent:方法:獲取綠色的分量 342
12.6.3 blueComponent:方法:獲取藍色的分量 342
12.6.4 cyanComponent:方法:獲取青色的分量 343
12.6.5 magentaComponent:方法:獲取紫紅色分量 343
12.6.6 yellowComponent:方法:獲取黃色分量 344
12.6.7 blackComponent:方法:獲取黑色的分量 344
12.6.8 whiteComponent:方法:獲取白色的分量 345
12.6.9 alphaComponent:方法:獲取透明度分量 345
12.6.10 hueComponent:方法:獲取色調的分量 346
12.6.11 saturationComponent:方法:獲取飽和度的分量 346
12.6.12 brightnessComponent:方法:獲取亮度分量 347
12.6.13 patternImage:方法:獲取圖像信息 347
12.7 小結 348
第13章 自定義視圖(NSView) 349
13.1 initWithFrame:方法:初始化自定義視圖 349
13.2 獲取與設置自定義視圖信息 349
13.2.1 frame:方法:獲取自定義視圖的框架 349
13.2.2 setFrame:方法:設置自定義視圖框架 350
13.2.3 frameRotation:方法:獲取自定義視圖的旋轉度數 351
13.2.4 setFrameRotation:方法:設置自定義視圖旋轉度數 352
13.2.5 setFrameOrigin:方法:設置自定義視圖的位置 352
13.2.6 setFrameSize:方法:設置自定義視圖的大小 353
13.2.7 bounds:方法:獲取自定義視圖框架 354
13.2.8 setBounds:方法:設置自定義視圖框架 355
13.2.9 boundsRotation:方法:獲取自定義視圖的旋轉度數 356
13.2.10 setBoundsRotation:方法:設置自定義視圖旋轉的度數 357
13.2.11 setBoundsOrigin:方法:設置視圖的位置 358
13.2.12 setBoundsSize:方法:設置視圖的大小 358
13.2.13 subviews:方法:獲取子視圖 359
13.2.14 setPostsFrameChangedNotifications:方法:設置是否接收視圖的變化 360
13.2.15 setPostsBoundsChangedNotifications:方法:設置是否接收視圖的變化 361
13.2.16 printJobTitle:方法:獲取輸出標題 362
13.3 drawRect:方法:繪圖 362
13.4 判斷自定義視圖 363
13.4.1 postsFrameChangedNotifications:方法:判斷是否接收視圖變換的消息 363
13.4.2 postsBoundsChangedNotifications:方法:判斷是否接收視圖變換的消息 364
13.4.3 isFlipped:方法:判斷視圖是否翻轉 365
13.4.4 isRotatedFromBase:方法:判斷視圖是否旋轉 366
13.4.5 isRotatedOrScaledFromBase:方法:判斷視圖是否旋轉或縮放 367
13.4.6 canDraw:方法:判斷視圖是否繪制 367
13.4.7 isOpaque:方法:判斷視圖是否不透明 368
13.5 操作自定義視圖 369
13.5.1 addSubview:方法:添加視圖 369
13.5.2 removeFromSuperview:方法:刪除視圖 370
13.5.3 replaceSubview:方法:替換視圖 371
13.6 小結 372
第14章 文本框和文本視圖(NSTextField、NSTextView) 373
14.1 獲取與設置文本框信息 373
14.1.1 stringValue:方法:獲取文本框的字符串 373
14.1.2 setStringValue:方法:設置文本框中的字符串 374
14.1.3 backgroundColor:方法:獲取文本框的背景顏色 374
14.1.4 setBackgroundColor:方法:設置文本框的背景顏色 375
14.1.5 textColor:方法:獲取字符串的顏色 376
14.1.6 setTextColor:方法:設置字符串的顏色 376
14.1.7 setImportsGraphics:方法:設置是否可以將圖像拖到文本框 377
14.1.8 setEditable:方法:設置文本框是否可以編譯 378
14.1.9 bezelStyle:方法:獲取文本框邊框的風格 379
14.1.10 setBezelStyle:方法:設置文本框邊框的風格 379
14.1.11 setBezeled:方法:設置文本框是否接受bezeled邊框 380
14.1.12 setBordered:方法:設置文本框是否接受黑邊框 381
14.2 判斷文本框信息 382
14.2.1 importsGraphics:方法:判斷是否可以將圖像拖到文本框 382
14.2.2 isEditable:方法:判斷文本框是否可以編輯 383
14.2.3 isBezeled:方法:判斷文本框是否接受了bezeled邊框 384
14.2.4 isBordered:方法:判斷文本框是否接受了黑邊框 385
14.2.5 acceptsFirstResponder:方法:判斷文本框是否可以編輯 386
14.3 initWithFrame:方法:創建並初始化文本視圖 386
14.4 獲取與設置文本視圖信息 387
14.4.1 backgroundColor:方法:獲取文本視圖的顏色 388
14.4.2 setBackgroundColor:方法:設置文本視圖的背景顏色 388
14.4.3 setImportsGraphics:方法:設置文件是否可以導入到文本視圖 389
14.4.4 setAcceptsGlyphInfo:方法:設置文本視圖是否接受字形信息 390
14.4.5 setAlignment:方法:設置文本視圖內容的對齊方式 390
14.4.6 insertionPointColor:方法:獲取插入點的顏色 391
14.4.7 setInsertionPointColor:方法:設置插入點的顏色 392
14.4.8 setAllowsUndo:方法:設置文本視圖是否可以撤銷 393
14.4.9 selectedTextAttributes:方法:獲取用於指示選擇的屬性 394
14.4.10 setSelectedTextAttributes:方法:設置文本視圖用於指示選擇的屬性 394
14.4.11 textContainer:方法:獲取文本框的文本容器 395
14.4.12 acceptableDragTypes:方法:獲取文本視圖的數據類型 396
14.4.13 markedTextAttributes:方法:獲取繪制標記的文本屬性 397
14.4.14 setMarkedTextAttributes:方法:設置繪制標記的文本屬性 397
14.4.15 setSmartInsertDeleteEnabled:方法:設置選擇字符串周圍的空間 398
14.4.16 markedRange:方法:獲取被標記文本的范圍 399
14.4.17 selectedRange:方法:獲取選中文本的范圍 400
14.4.18 setSelectedRange:方法:設置文本的選中范圍 400
14.4.19 typingAttributes:方法:獲取新文本的屬性 401
14.4.20 setTypingAttributes:方法:設置新文本的屬性 402
14.5 判斷文本視圖的信息 403
14.5.1 importsGraphics:方法:判斷文件是否可以導入到文本視圖 403
14.5.2 acceptsGlyphInfo:方法:判斷文本視圖是否接受字形信息 404
14.5.3 allowsUndo:方法:判斷文本視圖是否啟用撤銷 405
14.5.4 smartInsertDeleteEnabled:方法:判斷選擇字符串周圍的空間 406
14.6 小結 407
第15章 圖像、圖像視圖(NSImage、NSImageView) 408
15.1 加載圖像 408
15.1.1 imageNamed:方法:加載Supporting Files文件夾中的圖片 408
15.1.2 initWithContentsOfURL:方法:加載URL中的圖像 409
15.1.3 initWithContentsOfFile:方法:加載文件中的圖片 410
15.1.4 initWithSize:方法:加載圖像的大小 411
15.2 獲取與設置圖像信息 411
15.2.1 size:方法:獲取圖像的大小 411
15.2.2 setSize:方法:設置圖像的大小 412
15.2.3 setFlipped:方法:設置圖像是否倒立 413
15.2.4 cacheMode:方法:獲取圖像的緩存模式 414
15.2.5 setCacheMode:方法:設置圖像的緩存模式 415
15.2.6 backgroundColor:方法:獲取圖像的背景色 415
15.2.7 setBackgroundColor:方法:設置圖像的背景色 416
15.2.8 name:方法:獲取圖像的名稱 416
15.2.9 setName:方法:設置圖像的名稱 417
15.2.10 setTemplate:方法:設置圖像是否表示一個模板圖像 417
15.2.11 imageTypes:方法:獲取圖像類型 418
15.2.12 imageUnfilteredTypes:方法:獲取圖像類型 419
15.2.13 imageFileTypes:方法:獲取文件類型 419
15.2.14 imageUnfilteredFileTypes:方法:獲取文件類型 420
15.2.15 imagePasteboardTypes:方法:獲取粘貼板類型 421
15.2.16 imageUnfilteredPasteboardTypes:方法:獲取粘貼板類型 422
15.2.17 representations:方法:獲取圖像表示 422
15.3 判斷圖像信息 423
15.3.1 isFlipped:方法:判斷圖像是否倒立 423
15.3.2 prefersColorMatch:方法:判斷圖像顏色匹配 424
15.3.3 isTemplate:方法:判斷圖像是否為模板圖像 424
15.4 獲取與設置圖像視圖 425
15.4.1 image:方法:獲取顯示圖像的信息 425
15.4.2 setImage:方法:設置顯示的圖像 426
15.4.3 imageAlignment:方法:獲取圖像的對齊方式 427
15.4.4 setImageAlignment:方法:設置圖像的對齊方式 428
15.4.5 imageFrameStyle:方法:獲取框架的風格 429
15.4.6 setImageFrameStyle:方法:設置框架的風格 430
15.4.7 imageScaling:方法:獲取圖像縮放的方式 431
15.4.8 setImageScaling:方法:設置圖像縮放方式 432
15.4.9 isEditable:方法:判斷圖像視圖是否可以編輯 433
15.4.10 setEditable:方法:設置圖像視圖是否編輯 434
15.4.11 allowsCutCopyPaste:方法:判斷圖像是否可復制、粘貼等操作 435
15.4.12 setAllowsCutCopyPaste:方法:設置圖像是否可復制、粘貼等操作 435
15.4.13 animates:方法:判斷圖像視圖是否播放動畫 436
15.4.14 setAnimates:方法:設置圖像視圖是否播放動畫 437
15.5 小結 438
第16章 表視圖(NSTableView) 439
16.1 獲取表視圖信息 439
16.1.1 rowHeight:方法:獲取表視圖的行高 439
16.1.2 headerView:方法:獲取NSTableHeaderView對象 440
16.1.3 intercellSpacing:方法:獲取表單元之間的間距 440
16.1.4 numberOfColumns:方法:獲取表視圖中的列數 441
16.1.5 numberOfRows:方法:獲取表視圖的行數 442
16.1.6 numberOfSelectedColumns:方法:獲取選中的列數 442
16.1.7 numberOfSelectedRows:方法:獲取選擇的行數 443
16.1.8 rowSizeStyle:方法:獲取行風格 444
16.2 設置表視圖的信息 445
16.2.1 setRowHeight:方法:設置表視圖的行高 445
16.2.2 setIntercellSpacing:方法:設置表單元之間的間距 446
16.2.3 setRowSizeStyle:方法:設置行風格 447
16.2.4 setAllowsColumnReordering:方法:設置用戶是否可以重新排列列標題 448
16.2.5 setAllowsColumnResizing:方法:設置是否可以調整列標題 449
16.2.6 setAllowsColumnSelection:方法:設置是否可以選擇一整列 450
16.2.7 setAllowsTypeSelect:方法:設置是否可以通過按鍵字符進行選擇 451
16.2.8 setAllowsMultipleSelection:方法:設置是否允許選擇多行或多列 452
16.3 判斷表視圖信息 454
16.3.1 allowsColumnReordering:方法:判斷用戶是否可以重新排列列標題 454
16.3.2 allowsColumnResizing:方法:判斷是否可以調整列標題 455
16.3.3 allowsColumnSelection:方法:判斷是否可以選擇一整列 456
16.3.4 allowsEmptySelection:方法:判斷是否允許有0個行或列被選中 457
16.3.5 allowsTypeSelect:方法:判斷是否可以通過按鍵字符進行選擇 457
16.3.6 allowsMultipleSelection:方法:判斷是否允許選擇多行或多列 458
16.4 小結 459
第17章 常見控件(NSButton、NSDatePicker、NSProgressIndicator、NSComboBox) 460
17.1 按鈕控件(NSButton) 460
17.1.1 title:方法:獲取按鈕的標題 460
17.1.2 setTitle:方法:設置按鈕的標題 461
17.1.3 image:方法:獲取按鈕的圖像 461
17.1.4 setImage:方法:設置按鈕的圖像 462
17.1.5 isTransparent:方法:判斷按鈕是否透明 463
17.1.6 setTransparent:方法:設置按鈕是否透明 464
17.1.7 showsBorderOnlyWhileMouseInside:方法:判斷邊框的顯示 464
17.1.8 setShowsBorderOnlyWhileMouseInside:方法:設置邊框的顯示 465
17.1.9 setButtonType:方法:設置按鈕的顯示類型 466
17.2 日期選擇器(NSDatePicker) 467
17.2.1 datePickerStyle:方法:獲取日期選擇器的樣式 468
17.2.2 setDatePickerStyle:方法:設置日期選擇器的樣式 469
17.2.3 dateValue:方法:獲取日期選擇器的起始日期值 469
17.2.4 setDateValue:方法:設置日期選擇器的起始日期值 470
17.2.5 datePickerMode:方法:獲取日期選擇器的模式 471
17.2.6 setDatePickerMode:方法:設置日期選擇器的模式 472
17.2.7 calendar:方法:獲取日期選擇器的日歷 472
17.2.8 setCalendar:方法:設置日期選擇器的日歷 473
17.2.9 locale:方法:獲取日期選擇器的語言環境 474
17.2.10 setLocale:方法:設置日期選擇器的語言環境 475
17.2.11 timeZone:方法:獲取日期選擇器的時區 475
17.2.12 setTimeZone:方法:設置日期選擇器的時區 476
17.2.13 maxDate:方法:獲取日期選擇器的最大日期 477
17.2.14 setMaxDate:方法:設置日期選擇器的最大日期 478
17.2.15 minDate:方法:獲取日期選擇器的最小日期 478
17.2.16 setMinDate:方法:設置日期選擇器的最小日期 479
17.3 進度條(NSProgressIndicator) 480
17.3.1 style:方法:獲取進度條的風格 480
17.3.2 setStyle:方法:設置進度條的風格 481
17.4 組合框(NSComboBox) 482
17.4.1 hasVerticalScroller:方法:判斷組合框是否有垂直滾動條 482
17.4.2 setHasVerticalScroller:方法:設置組合框是否有垂直滾動條 483
17.4.3 numberOfVisibleItems:方法:獲取可見項目的最大數量 484
17.4.4 setNumberOfVisibleItems:方法:設置可見項目的最大數量 485
17.4.5 intercellSpacing:方法:獲取下拉列表項之間的間距 486
17.4.6 setIntercellSpacing:方法:設置下拉列表項之間的間距 486
17.4.7 itemHeight:方法:獲取下拉列表中項目的高度 487
17.4.8 setItemHeight:方法:獲取下拉列表中項目的高度 488
17.4.9 addItemWithObjectValue:方法:添加一個對象 489
17.4.10 addItemsWithObjectValues:方法:添加多個對象對 490
17.4.11 insertItemWithObjectValue:方法:插入對象 491
17.4.12 objectValues:方法:獲取下拉列表中的項 492
17.4.13 numberOfItems:方法:獲取下拉列表中項目總數 493
17.4.14 removeAllItems:方法:刪除所有的項目 493
17.4.15 removeItemWithObjectValue:方法:刪除某一項目 494
17.4.16 selectItemWithObjectValue:方法:選擇某一項目 495
17.5 小結 496
第1章 Objective-C學習環境准備 3
1.1 Objective-C基礎 3
1.1.1 Objective-C的發展歷程 3
1.1.2 Objective-C語言的特點 3
1.1.3 技術架構 4
1.2 開發環境 5
1.2.1 注冊開發者賬號 5
1.2.2 下載安裝Xcode 8
1.2.3 更新幫助文檔 12
1.3 編寫第一個Objective-C程序 13
1.3.1 創建項目 13
1.3.2 編寫程序 15
1.3.3 運行程序 15
1.3.4 使用幫助 16
1.4 小結 17
第2章 數學運算(math)函數 18
2.1 算術運算函數 18
2.1.1 rand()函數:產生隨機數 18
2.1.2 abs()函數/labs()函數:整數的絕對值 19
2.1.3 fabs()/fabsf()/fabsl()函數:浮點數的絕對值 19
2.1.4 floor()/floorf()/floorl()函數:向下取整 20
2.1.5 ceil()/ceilf()/ceill()函數:向上取整 21
2.1.6 round()/roundf()/roundl()函數:四舍五入 22
2.1.7 sqrt()/sqrtf()/sqrtl()函數:求平方根 22
2.1.8 fmax()/fmaxf()/fmaxl()函數:求最大值 23
2.1.9 fmin()/fminf()/fminl()函數:求最小值 24
2.1.10 hypot()/hypotf()/hypotl()函數:求直角三角形斜邊的長度 25
2.1.11 fmod()/fmodf()/fmodl()函數:求兩數整除后的余數 26
2.1.12 modf()/modff()/modfl()函數:浮點數分解為整數和小數 27
2.1.13 frexp()/frexpf()/frexpl()函數:浮點數分解尾數和以二為底的指數 28
2.2 三角運算函數 29
2.2.1 sin()/sinf()/sinl()/函數:求正弦值 29
2.2.2 sinh()/sinhf()/sinhl()函數:求雙曲正弦值 30
2.2.3 cos()/cosf()/cosl()函數:求余弦值 30
2.2.4 cosh()/coshf()/coshl()函數:求雙曲余弦值 31
2.2.5 tan()/tanf()/tanl()函數:求正切值 31
2.2.6 tanh()/tanhf()/tanhl()函數:求雙曲正切值 32
2.3 反三角運算 33
2.3.1 asin()/asinf()/asinl()函數:求反正弦值 33
2.3.2 asinh()/asinhf()/asinhl()函數:求反雙曲正弦值 34
2.3.3 acos()/acosf()/acosl()函數:求反余弦值 34
2.3.4 acosh()/acoshf()/acoshl()函數:求反雙曲余弦值 35
2.3.5 atan()/atanf()/atanl()函數:求反正切值 36
2.3.6 atan2()/atan2f()/atanl()函數:求坐標值的反正切值 37
2.3.7 atanh()/atanhf()/atanhl()函數:求反雙曲正切值 37
2.4 指數和對數運算 38
2.4.1 pow()/powf()/powl函數:求n的m次方的值 38
2.4.2 exp()/expf()/expl()函數:求e的x次方的值 39
2.4.3 exp2()/exp2f()/exp2l()函數:2的x的次方的值 39
2.4.4 log()/logf()/logl()函數:求以e為底的對數值 40
2.4.5 log10()/log10f()/log10l()函數:求以10為底的對數值 41
2.5 常量函數 41
2.6 小結 42
第2篇 Cocoa的Foundation框架篇
第3章 數字對象(NSNumber) 45
3.1 整型對象 45
3.1.1 numberWithShort:方法:創建短整型數字對象 45
3.1.2 numberWithUnsignedShort:方法:創建無符號短整型數字對象 45
3.1.3 numberWithInteger:方法:創建整型數字對象 45
3.1.4 numberWithUnsignedInteger:方法:創建無符號整型數字對象 46
3.1.5 numberWithInt:方法:創建整型數字對象 46
3.1.6 numberWithUnsignedInt:方法:創建無符號整型數字對象 46
3.1.7 numberWithLong:方法:創建並初始化長整型數字對象 46
3.1.8 numberWithUnsignedLong:方法:創建並初始化無符號長整型數字對象 46
3.1.9 numberWithLongLong:方法:創建並初始化長長整型數字對象 47
3.1.10 numberWithUnsignedLongLong:方法:創建並初始化無符號長長整型對象 47
3.1.11 initWithShort:方法:初始化短整型數字對象 47
3.1.12 initWithUnsignedShort:方法:初始化無符號短整型數字對象 47
3.1.13 initWithInteger:方法:初始化整型數字對象 47
3.1.14 initWithUnsignedInteger:方法:初始化無符號整型數字對象 47
3.1.15 initWithInt:方法:初始化整型數字對象 48
3.1.16 initWithUnsignedInt:方法:初始化無符號整型數字對象 48
3.1.17 initWithLong:方法:初始化長整型數字對象 48
3.1.18 initWithUnsignedLong:方法:初始化無符號長整型數字對象 48
3.1.19 initWithLongLong:方法:初始化長長整型數字對象 48
3.1.20 initWithUnsignedLongLong:方法:初始化無符號長長整型數字對象 48
3.1.21 shortValue:方法:取短整型數字對象的值 49
3.1.22 unsignedShortValue:方法:取無符號短整型數字對象的值 49
3.1.23 integerValue:方法:取整型數字對象的值 49
3.1.24 unsignedIntegerValue:方法:取無符號整型數字對象的值 49
3.1.25 intValue:方法:取整型數字對象的值 49
3.1.26 unsignedIntValue:方法:取無符號整型數字對象的值 49
3.1.27 longValue:方法:取長整型數字對象的值 49
3.1.28 unsignedLongValue:方法:取無符號長整型數字對象的值 50
3.1.29 longlongValue:方法:取長長整型數字對象的值 50
3.1.30 unsignedLongLongValue:方法:取無符號長長整型數字對象的值 50
3.2 字符型對象 51
3.2.1 numberWithChar:方法:創建並初始化字符型數字對象 51
3.2.2 numberWithUnsignedChar:方法:創建並初始化無符號字符型數字對象 51
3.2.3 initWithChar:方法:初始化字符型對象 51
3.2.4 initWithUnsignedChar:方法:初始化無符號字符型對象 52
3.2.5 charValue:方法:取字符型數字對象的值 52
3.2.6 unsignedCharValue:方法:取無符號字符型數字對象的值 52
3.3 單精度型對象 53
3.3.1 numberWithFloat:方法:創建並初始化單精度型數字對象 53
3.3.2 initWithFloat:方法:初始化單精度型數字對象 53
3.3.3 floatValue:方法:取單精度型數字對象的值 53
3.4 雙精度型對象 54
3.4.1 numberWithDouble:方法:創建並初始化一個雙精度型數字對象 54
3.4.2 initWithDouble:方法:初始化雙精度型數字對象 54
3.4.3 doubleValue:方法:取雙精度型數字對象的值 54
3.5 布爾型對象 55
3.5.1 numberWithBool:方法:創建並初始化布爾型數字對象 55
3.5.2 initWithBool:方法:初始化布爾類型對象 56
3.5.3 boolValue:方法:取布爾型數字對象的值 56
3.6 數字對象通用方法 57
3.6.1 isEqualToNumber:方法:比較兩對象值是否相等 57
3.6.2 compare:方法:比較值的大小 57
3.7 小結 58
第4章 字符串對象(NSString) 59
4.1 創建及初始化 59
4.1.1 string:方法:創建字符串 59
4.1.2 stringWithstring:方法:用字符串來創建字符串 59
4.1.3 stringWithCstring:方法:創建C字符串 60
4.1.4 stringWithFormat:方法:創建NSLog()格式的字符串 60
4.1.5 stringWithContentsOfFile:方法:將創建的字符串設置為指定文件的內容 61
4.1.6 stringWithContentsOfURL:方法:將創建字符串設置為url的內容 62
4.1.7 stringWithUTF8String:方法:將創建的字符串轉換為UTF8字符串 62
4.1.8 init:方法:初始化字符串 63
4.1.9 initWithString:方法:用字符串來初始化字符串 63
4.1.10 initWithCString:方法:初始化字符串 64
4.1.11 initWithFormat:方法:用NSLog()格式初始化字符串 64
4.1.12 initWithContentsOfFile:方法:將初始化的字符串設置為指定文件的內容 65
4.1.13 initWithContentsOfURL:方法:將初始化的字符串設置為url的內容 66
4.1.14 initWithUTF8String:方法:將初始化的字符串轉換為UTF8字符串 66
4.2 判斷和比較 67
4.2.1 isEqualTostring:方法:比較字符串是否相等 67
4.2.2 hasPrefix:方法:判斷字符串是否以某個字符開始 68
4.2.3 hasSuffix:方法:判斷字符串是否以某個字符結束 68
4.2.4 compare:方法:比較字符串的大小 69
4.2.5 caseInsensitiveCompare:方法:不考慮大小寫的比較大小 70
4.3 大小寫轉換 71
4.3.1 uppercaseString:方法:小寫字母轉為大寫字母 71
4.3.2 lowercaseString:方法:大寫字母轉為小寫字母 72
4.3.3 capitalizedString:方法:將每個單詞的首字母大寫 72
4.4 截取 73
4.4.1 substringToIndex:方法:從字符串的開頭一直截取到指定的位置 73
4.4.2 substringFromIndex:方法:從指定位置開始截取字符串直到結束 73
4.4.3 substringWithRange:方法:根據指定范圍返回子字符串 74
4.4.4 characterAtIndex:方法:返回索引號所在字符串中的字符 75
4.5 轉換類型 75
4.5.1 doubleValue:/floatValue:方法:返回轉換為浮點類型的值 75
4.5.2 intValue:方法:返回轉換為整型的值 76
4.5.3 boolValue:方法:返回轉換為布爾類型的值 76
4.6 對文件的處理 77
4.6.1 stringByAppendingPathExtension:方法:為文件添加擴展名 77
4.6.2 pathExtension:方法:獲取文件擴展名 78
4.6.3 stringByDeletingPathExtension:方法:刪除擴展名 78
4.6.4 writeToFile:方法:將字符串寫入到文件 79
4.6.5 writeToURL:方法:將字符串寫入到url中 79
4.6.6 stringByExpandingTildeInPath:方法:將「~」替換成系統的主目錄 80
4.6.7 stringByAbbreviatingWithTildeInPath:方法:將系統主目錄替換為「~」 81
4.6.8 lastPathComponent:方法:獲取路徑中的文件名 81
4.6.9 stringByDeletingLastPathComponent:方法:獲取路徑中文件所在的位置 82
4.6.10 stringByAppendingPathComponent:方法:組合位置和文件名 82
4.6.11 isAbsolutePath:方法:判斷絕對路徑 83
4.7 其他 84
4.7.1 length:方法:求字符串的長度 84
4.7.2 stringByAppendingString:方法:字符串后面增加一個新字符串 84
4.7.3 rangeOfString:方法:查找字符串中是否包含其他字符串 85
4.7.4 stringByTrimmingCharactersInSet:方法:去除空格或回車 86
4.8 可變字符串 86
4.8.1 stringWithCapacity:方法:按照固定長度生成空字符串 86
4.8.2 initWithCapacity:方法:初始化一個固定長度的字符串 87
4.8.3 appendString:方法:在字符串的末尾附加另一個字符串 87
4.8.4 appendFormat:方法:附加一個格式化字符串 88
4.8.5 SetString:方法:將字符串設置為規定的內容 88
4.8.6 insertString:方法:在指定位置插入字符串 89
4.8.7 deleteCharactersInRange:方法:刪除指定范圍的字符串 89
4.8.8 replaceCharactersInRange:方法:使用字符串代替指定范圍的字符串 90
4.8.9 replaceOccurrencesOfString:方法:替換 91
4.9 小結 91
第5章 數組對象(NSArray) 92
5.1 創建及初始化 92
5.1.1 array:方法:創建數組 92
5.1.2 arrayWithArray:方法:通過一個數組創建另一個數組 92
5.1.3 arrayWithContentsOfFile:方法:創建數組將內容設置為指定文件內容 93
5.1.4 arrayWithContentsOfURL:方法:創建數組將內容設置為url指定內容 94
5.1.5 arrayWithObject:方法:創建具有一個元素的數組 95
5.1.6 arrayWithObjects:方法:創建具有多個元素的數組 95
5.1.7 init:方法:初始化數組 96
5.1.8 initWithArray:方法:用數組初始化數組 96
5.1.9 initWithContentsOfFile:方法:初始化數組將內容設置為指定文件內容 97
5.1.10 initWithContentsOfURL:方法:初始化數組將內容設置為url指定內容 98
5.1.11 initWithObjects:方法:初始化具有多個元素的數組 98
5.2 數組元素的操作 99
5.2.1 containsObject:方法:判斷數組中是否包含某個元素 99
5.2.2 count:方法:計算元素個數 100
5.2.3 firstObjectCommonWithArray:方法:獲取首元素 100
5.2.4 lastObject:方法:獲取最后一個元素 101
5.2.5 objectAtIndex:方法:獲取在某個位置的數組元素 101
5.2.6 objectAtIndexs:方法:獲取數組元素 102
5.2.7 arrayByAddingObject:方法:在數組末尾添加元素 102
5.2.8 arrayByAddingObjectsFromArray:方法:在數組的末尾添加另一個數組 103
5.2.9 subarrayWithRange:方法:數組的一部分創建數組 104
5.2.10 isEqualToArray:方法:比較數組是否相等 104
5.2.11 indexOfObject:方法:返回元素所在的位置 105
5.2.12 indexOfObjectIdenticalTo:方法:返回元素所在的位置 106
5.2.13 componentsJoinedByString:方法:數組轉換為字符串 106
5.2.14 componentsSeparatedByString:方法:字符串轉換為數組 107
5.2.15 sortedArrayHint:方法:數組轉換為數據對象 108
5.2.16 writeToFile:方法:將數組中的內容寫入到文件 108
5.2.17 writeToUrl:方法:將數組中的內容寫入到url 109
5.2.18 objectEnumerator:方法:數組元素從前向后訪問 110
5.2.19 reverseObjectEnumerator:方法:數組元素從后向前訪問 111
5.2.20 pathsMatchingExtensions:方法:查看某文件夾下的東西 112
5.2.21 sortedArrayUsingFunction:方法:實現數組元素的簡單排序 112
5.3 可變數組 113
5.3.1 arrayWithCapacity:方法:創建一個具有固定長度的可變數組 113
5.3.2 initWithCapacity:方法:初始化一個具有固定長度的可變數組 114
5.3.3 addObject:方法:添加數組元素 114
5.3.4 addObjectsFromArray:方法:用數組創建可變數組 115
5.3.5 removeObject:方法:刪除指定的元素 116
5.3.6 removeAllObjects:方法:刪除可變數組中的所有元素 116
5.3.7 removeLastObject:方法:刪除可變數組中的最后一個元素 117
5.3.8 removeObjectAtIndex:方法:刪除指定位置的元素 118
5.3.9 removeObjectsAtIndex:方法:刪除可變數組中的元素 119
5.3.10 removeObjectsInRange:方法:刪除某個范圍內的可變數組中的元素 120
5.3.11 removeObjectsInArray:方法:刪除與另一個數組相同的元素 120
5.3.12 replaceObjectAtIndex:方法:替換可變數組中某一位置的元素 121
5.3.13 replaceObjectsAtIndexes:方法:替換可變數組中的多個元素 122
5.3.14 replaceObjectsInRange:方法:替換某一范圍的數組元素 123
5.3.15 insertObject:方法:在某一位置插入數組元素 124
5.3.16 insertObjects:方法:在某一位置或范圍插入另一數組元素 125
5.3.17 exchangeObjectAtIndex:方法:交換兩個元素 126
5.3.18 setArray:方法:設置可變數組中內容 126
5.4 小結 127
第6章 字典對象(NSDictionary) 128
6.1 創建及初始化 128
6.1.1 dictionary:方法:創建字典 128
6.1.2 dictionaryWithContentsOfFile:方法:將創建的字典內容設置為指定文件內容 128
6.1.3 dictionaryWithContentsOfURL:方法:將創建的字典內容設置為指定url內容 129
6.1.4 dictionaryWithDictionary:方法:用字典創建字典 130
6.1.5 dictionaryWithObject:方法:創建具有一個鍵-值的字典 131
6.1.6 dictionaryWithObjects:方法:創建具有多個鍵-值的字典 131
6.1.7 dictionaryWithObjectsAndKeys:方法:創建具有多個鍵-值的字典 132
6.1.8 init:方法:初始化字典 133
6.1.9 initWithContentsOfFile:方法:將初始化的字典內容設置為指定文件內容 133
6.1.10 initWithContentsOfURL:方法:將初始化的字典內容設置為指定url內容 134
6.1.11 initWithDictionary:方法:用字典初始化字典 135
6.1.12 initWithObjects:方法:初始化具有多個鍵-值的字典 135
6.1.13 initWithObjectsAndKeys:方法:初始化具有多個鍵-值的字典 136
6.2 訪問鍵-值 137
6.2.1 objectForKey:方法:返回鍵的值 137
6.2.2 allKeys:方法:返回所有的鍵 137
6.2.3 allValue:方法:返回所有的值 138
6.2.4 allKeysForObject:方法:返回值所對應的鍵 139
6.2.5 keyEnumerator:方法:將字典中所有的鍵放到NSEnumerator對象中 139
6.2.6 objectEnumerator:方法:將字典中所有的值放到一個NSEnumerator對象中 140
6.3 文件的處理 141
6.3.1 fileCreationDate:方法:文件創建日期 141
6.3.2 fileModificationDate:方法:文件修改的日期 141
6.3.3 fileSize:方法:文件的大小 142
6.3.4 fileExtensionHidden:方法:擴展名是否隱藏 142
6.3.5 fileType:方法:文件的類型 143
6.3.6 fileGroupOwnerAccountID:方法:文件所屬組標識 144
6.3.7 fileGroupOwnerAccountName:方法:文件所屬組名 144
6.3.8 fileHFSCreatorCode:方法:文件分層系統創建者編碼 145
6.3.9 fileHFSTypeCode:方法:文件分層系統類型編碼 145
6.3.10 fileIsAppendOnly:方法:文件是否只讀 146
6.3.11 fileIsImmutable:方法:文件是否可變 147
6.3.12 fileOwnerAccountID:方法:文件所屬人標識 147
6.3.13 fileOwnerAccountName:方法:文件所屬人 148
6.3.14 filePosixPermissions:方法:權限 148
6.3.15 fileSystemFileNumber:方法:文件系統的文件編號 149
6.3.16 fileSystemNumber:方法:文件系統編號 149
6.3.17 writeToFile:方法:字典內容寫入文件中 150
6.3.18 writeToURL:方法:字典內容寫入url中 151
6.4 其他 152
6.4.1 count:方法:字典鍵-值個數 152
6.4.2 isEqualToDictionary:方法:判斷字典是否相等 153
6.5 可變字典 153
6.5.1 dictionaryWithCapacity:方法:創建固定長度的可變字典 154
6.5.2 initWithCapacity:方法:初始化固定長度的可變字典 154
6.5.3 setObject:方法:設置鍵-值 154
6.5.4 setDictionary:方法:用字典設置可變字典中的內容 155
6.5.5 removeAllObjects:方法:刪除所有的內容 156
6.5.6 removeObjectForKey:方法:刪除鍵所對應的值 156
6.5.7 removeObjectsForKeys:方法:刪除多個鍵所有的值 157
6.5.8 addEntriesFromDictionary:方法:將字典中的鍵-值添加到可變字典中 158
6.6 小結 159
第7章 集合(NSSet) 160
7.1 創建以初始化 160
7.1.1 set:方法:創建集合 160
7.1.2 setWithArray:方法:用數組創建集合 160
7.1.3 setWithObject:方法:創建具有一個元素的集合 161
7.1.4 setWithObjects:方法:創建具有多個元素的集合 161
7.1.5 setWithSet:方法:集合創建集合 162
7.1.6 init:方法:初始化集合 163
7.1.7 initWithArray:方法:用數組初始化集合 163
7.1.8 initWithObjects:方法:初始化具有多個元素的集合 164
7.1.9 initWithSet:方法:集合初始化集合 164
7.2 訪問元素 165
7.2.1 objectEnumerator:方法:將所有集合中的元素放到NSEnumerator對象中 165
7.2.2 allObjects:方法:返回集合中所有的元素 166
7.2.3 anyObject:方法:返回任意一個元素 167
7.2.4 count:方法:返回元素個數 167
7.3 判斷比較 168
7.3.1 containsObject:方法:判斷集合中是否包含某個元素 168
7.3.2 member:方法:判斷集合中是否包含某個元素並返回 168
7.3.3 isSubsetOfSet:方法:判斷一個集合是否是一個集合的子集 169
7.3.4 intersectsSet:方法:判斷交集 170
7.3.5 isEqualToSet:方法:判斷集合是否相等 170
7.4 可變集合 171
7.4.1 setWithCapacity:方法:創建具有固定長度的可變集合 171
7.4.2 initWithCapacity:方法:初始化具有固定長度的可變集合 172
7.4.3 setSet:方法:通過集合設置可變集合的內容 172
7.4.4 addObject:方法:添加元素 173
7.4.5 addObjectsFromArray:方法:添加數組中的元素 173
7.4.6 removeAllObjects:方法:刪除所有元素 174
7.4.7 removeObject:方法:刪除指定的元素 175
7.4.8 unionSet:方法:添加集合元素 176
7.4.9 minusSet:方法:去除另一個集合中的元素 176
7.4.10 intersectSet:方法:做交集 177
7.5 小結 178
第8章 文件(NSFileManager、NSFileHandle) 179
8.1 defaultManger:方法:創建文件管理器 179
8.2 文件與目錄的操作 179
8.2.1 createFileAtPath:方法:創建文件 179
8.2.2 copyItemAtPath:方法:復制文件 180
8.2.3 moveItemAtPath:方法:移動文件 181
8.2.4 removeItemFileAtPath:方法:刪除文件 182
8.2.5 attributesOfItemAtPath:方法:獲取文件的屬性 182
8.2.6 setAttributes:方法:更改屬性 183
8.2.7 currentDirectoryPath:方法:獲取當前的目錄 184
8.2.8 changeCurrentDirectoryPath:方法:更改目錄 185
8.2.9 createDirectoryAtPath:方法:創建目錄 186
8.3 獲取文件和目錄信息 187
8.3.1 contentsAtPath:方法:獲取文件中的信息 187
8.3.2 enumeratorAtPath:方法:枚舉目錄 187
8.3.3 contentsOfDirectoryAtPath:方法:列舉目錄 188
8.4 判斷文件 189
8.4.1 fileExistsAtPath:方法:判斷文件是否存在 189
8.4.2 isReadableFile:方法:判斷是否能進行讀取操作 190
8.4.3 isWritableFileAtPath:方法:判斷是否能進行寫入操作 190
8.4.4 isDeletableFileAtPath:方法:判斷是否可刪除 191
8.4.5 isExecutableFileAtPath:方法:判斷是否可以執行 192
8.4.6 contentsEqualAtPath:方法:判斷是否相等 192
8.5 文件讀取 193
8.5.1 init:方法:初始化文件讀寫對象 193
8.5.2 fileHandleForReadingAtPath:方法:讀取時打開文件 194
8.5.3 fileHandleForWritingAtPath:方法:寫入時打開文件 194
8.5.4 fileHandleForUpdatingAtPath:方法:更新時打開文件 195
8.5.5 writeData:方法:數據寫入文件 196
8.5.6 readDataToEndOfFile:方法:讀取數據 197
8.5.7 readDataOfLength:方法:讀取固定大小的內容 197
8.5.8 offsetInFile:方法:獲取當前偏移量 198
8.5.9 seekToFileOffset:方法:設置當前的偏移量 199
8.5.10 seekToEndOfFile:方法:將偏移量定位到文件尾 199
8.5.11 truncateFileAtOffset:方法:設置字節 200
8.5.12 availableData:方法:返回可用數據 201
8.5.13 closeFile:方法:關閉文件 201
8.6 目錄工具函數 202
8.6.1 NSUserName()函數:返回登錄名 202
8.6.2 NSFullUserName()函數:返回完整用戶名 202
8.6.3 NSHomeDirectory()函數:返回路徑 203
8.6.4 NSHomeDirectoryForUser()函數:返回用戶的主目錄 203
8.6.5 NSTemporaryDirectory()函數:返回臨時文件的路徑目錄 204
8.7 小結 204
第9章 時間和日歷(NSDate、NSDateFormatter、NSCalendarDate、NSCalendar、NSTimeZone、NSTimer) 205
9.1 時間的創建及初始化 205
9.1.1 date:方法:創建時間 205
9.1.2 dateWithString:方法:用字符串創建時間 206
9.1.3 dateWithNaturalLanguageString:方法:用字符串創建時間 206
9.1.4 dateWithTimeInterval:方法:用時間間隔創建時間 207
9.1.5 dateWithTimeIntervalSince1970:方法:用時間間隔創建時間 208
9.1.6 dateWithTimeIntervalSinceNow:方法:用時間間隔創建時間 208
9.1.7 dateWithTimeIntervalSinceReferenceDate:方法:用時間間隔創建時間 209
9.1.8 init:方法:初始化時間 209
9.1.9 initWithString:方法:用字符串初始化時間 210
9.1.10 initWithTimeInterval:方法:用時間間隔初始化時間 210
9.1.11 initWithTimeIntervalSince1970:方法:用時間間隔初始化時間 211
9.1.12 initWithTimeIntervalSinceNow:方法:用時間間隔初始化時間 211
9.1.13 initWithTimeIntervalSinceReferenceDate:方法:用時間間隔初始化時間 212
9.2 時間的比較 212
9.2.1 isEqualToDate:方法:比較是否相等 212
9.2.2 compare:方法:比較時間 213
9.2.3 earlierDate:方法:比較哪個時間早 214
9.2.4 laterDate:方法:比較哪個時間晚 214
9.3 獲取時間 215
9.3.1 dateByAddingTimeInterval:方法:獲取經過時間間隔后的時間 215
9.3.2 distantPast:方法:獲取過去的時間 215
9.3.3 distantFuture:方法:獲取將來的時間 216
9.3.4 timeIntervalSinceDate:方法:獲取兩時間的差值 216
9.3.5 timeIntervalSinceNow:方法:獲取兩時間的差值 217
9.3.6 timeIntervalSince1970:方法:獲取兩時間的差值 218
9.3.7 timeIntervalSinceReferenceDate:方法:獲取兩時間的差值 218
9.4 時間和字符串的相互轉換 219
9.4.1 init:方法:初始化用於時間轉換的對象 219
9.4.2 setDateFormat:方法:設置格式 219
9.4.3 initWithDateFormat:方法:初始化用於時間轉換的對象 220
9.5 日歷時間的創建及初始化 221
9.5.1 calendarDate:方法:創建日歷時間 221
9.5.2 dateWithYear:方法:創建日歷時間並設置內容 221
9.5.3 dateWithString:方法:創建日歷時間並設置內容及格式 222
9.5.4 init:方法:初始化日歷時間 223
9.5.5 initWithYear:方法:初始化日歷時間並設置內容 223
9.5.6 initWithString:方法:初始化日歷時間並設置內容及格式 224
9.6 獲取日歷時間信息 224
9.6.1 dayOfWeek:方法:獲取天數 225
9.6.2 dayOfMonth:方法:獲取天數 225
9.6.3 dayOfYear:方法:獲取天數 226
9.6.4 hourOfDay:方法:獲取時間 226
9.6.5 minuteOfHour:方法:獲取時間 227
9.6.6 secondOfMinute:方法:獲取時間 227
9.6.7 monthOfYear:方法:獲取時間 228
9.6.8 yearOfCommonEra:方法:獲取年 228
9.6.9 dayOfCommonEra:方法:獲取天數 229
9.6.10 calendarFormat:方法:獲取日歷的格式 229
9.6.11 timeZone:方法:獲取時區 230
9.6.12 dateByAddingYears:方法:獲取日期時間 230
9.7 設置日歷時間 231
9.7.1 setCalendarFormat:方法:設置日歷的格式 231
9.7.2 setTimeZone:方法:設置時區 231
9.8 日歷的使用 232
9.8.1 currentCalendar:方法:創建日歷 232
9.8.2 autoupdatingCurrentCalendar:方法:獲取日歷 233
9.8.3 initWithCalendarIdentifier:方法:初始化日歷 233
9.8.4 local:方法:獲取區域 234
9.8.5 firstWeekday:方法:獲取每周的第一天 235
9.8.6 minimumDaysInFirstWeek:方法:獲取天數 235
9.8.7 calendarIdentifier:方法:獲取日歷 236
9.8.8 setFirstWeekday:方法:設置每周的第一天 236
9.8.9 setMinimumDaysInFirstWeek:方法:設置天數 237
9.9 時區的使用 237
9.9.1 timeZoneWithName:方法:用已知時區創建時區 237
9.9.2 timeZoneWithAbbreviation:方法:用已知時區創建時區 238
9.9.3 timeZoneForSecondsFromGMT:方法:用偏移創建時區 239
9.9.4 initWithName:方法:用已知時區初始化時區 239
9.9.5 systemTimeZone:方法:獲取系統的時區 240
9.9.6 localTimeZone:方法:獲取本地時區 240
9.9.7 knownTimeZoneNames:方法:返回所有時區 240
9.9.8 name:方法:獲取名稱 241
9.9.9 abbreviation:方法:獲取縮寫 242
9.9.10 secondsFromGMT:方法:獲取秒數 242
9.10 定時器的使用 243
9.10.1 timerWithTimeInterval:方法:創建定時器 243
9.10.2 initWithFireDate:方法:初始化定時器 244
9.10.3 setFireDate:方法:設置時間 244
9.10.4 fireDate:方法:返回時間 245
9.10.5 invalidate:方法:使定時器無效 245
9.10.6 isValid:方法:判斷是否有效 246
9.11 小結 246
第10章 進程、線程、鎖(NSProcessInfo、NSThread、NSLock) 247
10.1 使用進程 247
10.1.1 processInfo:方法:創建進程 247
10.1.2 init:方法:初始化進程 247
10.1.3 processName:方法:獲取進程的名稱 248
10.1.4 environment:方法:獲取變量/值 248
10.1.5 globallyUniqueString:方法:生成字符串 249
10.1.6 operatingSystem:方法:獲取操作系統信息 250
10.1.7 operatingSystemName:方法:獲取操作系統的名稱 250
10.1.8 operatingSystemVersionString:方法:獲取操作系統的版本信息 251
10.1.9 processIdentifier:方法:獲取進程的標識符 251
10.1.10 arguments:方法:獲取進程的參數 252
10.1.11 hostName:方法:獲取主機名稱 252
10.1.12 setProcessName:方法:設置進程的名稱 253
10.1.13 processorCount:方法:獲取CPU的數目 253
10.2 線程的創建及初始化 254
10.2.1 detachNewThreadSelector:方法:創建線程 254
10.2.2 init:方法:初始化線程 255
10.2.3 initWithTarget:方法:初始化線程 255
10.3 執行線程 256
10.3.1 start:方法:開啟線程 256
10.3.2 cancel:方法:取消線程 257
10.3.3 exit:方法:結束線程 258
10.4 獲取與設置線程 259
10.4.1 currentThread:方法:獲取當前線程 259
10.4.2 threadPriority:方法:獲取屬性值 259
10.4.3 setThreadPriority:方法:設置屬性值 260
10.4.4 name:方法:獲取名稱 260
10.4.5 setName:方法:設置名稱 261
10.4.6 stackSize:方法:獲取堆棧 261
10.4.7 setStackSize:方法:設置堆棧 262
10.5 判斷線程 262
10.5.1 isMultiThreaded:方法:判斷線程是否為主線程 262
10.5.2 isExecuting:方法:判斷線程是否在執行 263
10.5.3 isCancelled:方法:判斷線程是否取消 264
10.5.4 isFinished:方法:判斷線程是否結束 264
10.6 使用互斥鎖 265
10.6.1 lock:方法:調用鎖 265
10.6.2 unlock:方法:關閉鎖 265
10.6.3 trylock:方法:鎖定鎖 267
10.6.4 lockBeforeDate:方法:在一定時間內獲取鎖 267
10.7 使用遞歸鎖 268
10.7.1 lock:方法:調用鎖 268
10.7.2 unlock:方法:關閉鎖 268
10.7.3 tryLock:方法:獲取鎖 268
10.7.4 lockBeforeDate:方法:在一定時間內獲取鎖 268
10.8 使用條件鎖 270
10.8.1 initWithCondition:方法:初始化條件鎖 270
10.8.2 condition:方法:獲取條件 270
10.8.3 lockWhenCondition:方法:在條件允許下調用鎖 271
10.8.4 unlockWithCondition:方法:在條件允許下關閉鎖 271
10.8.5 tryLockWhenCondition:方法:在條件允許下獲取鎖 272
10.8.6 lockWhenCondition:方法:在條件和時間允許下獲取鎖 273
10.8.7 tryLock:方法:獲取鎖 274
10.8.8 lockBeforeDate:方法:在一定時間下獲取鎖 274
10.8.9 lock:方法:調用鎖 275
10.8.10 unlock:方法:關閉鎖 275
10.9 小結 276
第11章 數據對象及歸檔(NSData、NSKeyedArchiver) 277
11.1 數據對象的創建及初始化 277
11.1.1 data:方法:創建數據對象 277
11.1.2 dataWithBytes:方法:用已有數據創建數據對象 277
11.1.3 dataWithContentsOfFile:方法:將數據對象內容設置為指定文件內容 278
11.1.4 dataWithContentsOfURL:方法:將創建對象的內容設置為url指定的內容 279
11.1.5 dataWithData:方法:用已有數據對象創建新的數據對象 280
11.1.6 init:方法:初始化數據對象 280
11.1.7 initWithBytes:方法:用已有數據初始化數據對象 281
11.1.8 initWithContentsOfFile:方法:對數據對象初始化並將其設置為指定文件內容 281
11.1.9 initWithContentsOfURL:方法:對數據對象初始化並將其設置為指定url內容 282
11.1.10 initWithData:方法:用已有數據對象初始化新的數據對象 283
11.2 數據對象的使用 283
11.2.1 bytes:方法:將數據對象轉換為字符 283
11.2.2 dataUsingEncoding:方法:將字符串轉換為數據對象 284
11.2.3 length:方法:計算數據對象的長度 285
11.2.4 isEqualToData:方法:判斷兩個數據對象是否相等 285
11.2.5 subdataWithRange:方法:截取數據對象 286
11.2.6 writeToFile:方法:寫入文件 286
11.2.7 writeToURL:方法:寫入url 287
11.3 可變數據對象 288
11.3.1 dataWithCapacity:方法:創建一個具有固定空間大小的可變數據對象 288
11.3.2 dataWithLength:方法:創建具有固定長度的可變數據對象 288
11.3.3 initWithCapacity:方法:初始化具有固定空間大小的可變數據對象 289
11.3.4 initWithLength:方法:初始化具有固定長度的可變數據對象 289
11.3.5 setData:方法:設置內容 290
11.3.6 setLength:方法:設置長度 290
11.3.7 appendBytes:方法:添加數據 291
11.3.8 appendData:方法:添加數據對象 292
11.3.9 mutableBytes:方法:可變數據對象轉化為字符 292
11.3.10 replaceBytesInRange:方法:替換 293
11.3.11 resetBytesInRange:方法:刪除 293
11.4 歸檔 294
11.4.1 archiveRootObject:方法:數據歸檔 294
11.4.2 unarchiveObjectWithFile:方法:取消歸檔 295
11.4.3 encodeBool:方法:對布爾類型的數據編碼 296
11.4.4 decodeBoolForKey:方法:對布爾類型數據解碼 296
11.4.5 encodeInt:方法:對整型數據編碼 297
11.4.6 decodeIntForKey:方法:對整型數據解碼 297
11.4.7 encodeFloat:/encodeDouble:方法:對浮點型數據編碼 299
11.4.8 decodeFloatForKey:/decodeDoubleForKey:方法:對浮點型數據解碼 299
11.4.9 encodeObject:方法:對對象進行編碼 301
11.4.10 decodeObjectForKey:方法:對對象進行解碼 301
11.4.11 archivedDataWithRootObject:方法:將其他類型的數據進行轉換 302
11.4.12 initForWritingWithMutableData:方法:初始化 303
11.4.13 initForReadingWithData:方法:初始化 304
11.5 小結 304
第3篇 Cocoa的Application框架篇
第12章 窗口和顏色(NSWindow、NSColor) 307
12.1 獲取窗口信息 307
12.1.1 aspectRatio:方法:獲取窗口的縱橫比 307
12.1.2 orderedIndex:方法:獲取索引 307
12.1.3 title:方法:獲取窗口的標題 308
12.1.4 miniwindowTitle:方法:獲取窗口最小化后的標題 308
12.1.5 frame:方法:獲取窗口的位置和大小 309
12.1.6 minSize:方法:獲取窗口的最小尺寸 310
12.1.7 maxSize:方法:獲取窗口的最大尺寸 310
12.1.8 miniwindowImage:方法:獲取窗口最小化后的圖片 311
12.1.9 backgroundColor:方法:獲取窗口的背景顏色 311
12.1.10 childWindows:方法:獲取子窗口 312
12.1.11 alphaValue:方法:獲取窗口的透明度值 312
12.2 設置窗口 313
12.2.1 setAspectRatio:方法:設置窗口的縱橫比 313
12.2.2 setIsVisible:方法:設置窗口是否可見 314
12.2.3 setTitle:方法:設置窗口標題 314
12.2.4 setMiniwindowTitle:方法:設置窗口最小化后的標題 315
12.2.5 setIsMiniaturized:方法:設置窗口是否最小化 315
12.2.6 setIsZoomed:方法:設置窗口是否最大化 316
12.2.7 setFrame:方法:設置窗口的位置和大小 317
12.2.8 setFrameOrigin:方法:設置窗口的位置 318
12.2.9 setFrameTopLeftPoint:方法:設置窗口的位置 319
12.2.10 setMinSize:方法:設置窗口的最小尺寸 319
12.2.11 setMaxSize:方法:設置窗口的最大尺寸 320
12.2.12 setMiniwindowImage:方法:設置窗口最小化后的圖片 321
12.2.13 setBackgroundColor:方法:設置窗口的背景顏色 322
12.2.14 setCanHide:方法:設置窗口是否可以隱藏 322
12.2.15 setAlphaValue:方法:設置窗口的透明度值 324
12.2.16 disableFlushWindow:方法:將窗口設置為禁用的 324
12.2.17 setHasShadow:方法:設置窗口的陰影 325
12.3 判斷窗口 326
12.3.1 isVisible:方法:判斷窗口是否可見 326
12.3.2 isMiniaturized:方法:判斷窗口是否最小化 326
12.3.3 isZoomed:方法:判斷窗口是否最大化 327
12.3.4 canHide:方法:判斷窗口是否可以隱藏 327
12.3.5 hasShadow:方法:判斷窗口是否有陰影 329
12.3.6 isMiniaturizable:方法:判斷窗口是否有最小化按鈕 329
12.3.7 hasTitleBar:方法:判斷窗口是否有工具欄 330
12.4 創建自定義顏色對象 330
12.4.1 colorWithCalibratedRed:方法:用標准RGB分量創建顏色對象 330
12.4.2 colorWithCalibratedWhite:方法:用標准灰度分量創建顏色對象 331
12.4.3 colorWithCalibratedHue:方法:用標准HSB分量創建顏色對象 331
12.4.4 colorWithDeviceCyan:方法:用設備CMYB分量創建顏色對象 332
12.4.5 colorWithDeviceRed:方法:用設備RGB分量創建顏色對象 333
12.4.6 colorWithDeviceWhite:方法:用設備灰度分量創建顏色對象 333
12.4.7 colorWithDeviceHue:方法:用設備HSB分量創建顏色對象 334
12.4.8 colorWithPatternImage:方法:用圖像創建顏色對象 334
12.5 創建顏色對象 335
12.5.1 redColor:方法:用紅色創建顏色對象 335
12.5.2 greenColor:方法:用綠色創建顏色對象 335
12.5.3 blueColor:方法:用藍色創建顏色對象 336
12.5.4 cyanColor:方法:用青色創建顏色對象 336
12.5.5 magentaColor:方法:用紫紅色創建顏色對象 337
12.5.6 yellowColor:方法:用黃色創建顏色對象 337
12.5.7 blackColor:方法:用黑色創建顏色對象 338
12.5.8 brownColor:方法:用棕色創建顏色對象 338
12.5.9 darkGrayColor:方法:用深灰色創建顏色對象 338
12.5.10 grayColor:方法:用灰色創建顏色對象 339
12.5.11 lightGrayColor:方法:用淺灰色創建顏色對象 339
12.5.12 orangeColor:方法:用橙色創建顏色對象 340
12.5.13 purpleColor:方法:用紫色創建顏色對象 340
12.5.14 whiteColor:方法:用白色創建顏色對象 341
12.6 獲取顏色分量 341
12.6.1 redComponent:方法:獲取紅色的分量 341
12.6.2 greenComponent:方法:獲取綠色的分量 342
12.6.3 blueComponent:方法:獲取藍色的分量 342
12.6.4 cyanComponent:方法:獲取青色的分量 343
12.6.5 magentaComponent:方法:獲取紫紅色分量 343
12.6.6 yellowComponent:方法:獲取黃色分量 344
12.6.7 blackComponent:方法:獲取黑色的分量 344
12.6.8 whiteComponent:方法:獲取白色的分量 345
12.6.9 alphaComponent:方法:獲取透明度分量 345
12.6.10 hueComponent:方法:獲取色調的分量 346
12.6.11 saturationComponent:方法:獲取飽和度的分量 346
12.6.12 brightnessComponent:方法:獲取亮度分量 347
12.6.13 patternImage:方法:獲取圖像信息 347
12.7 小結 348
第13章 自定義視圖(NSView) 349
13.1 initWithFrame:方法:初始化自定義視圖 349
13.2 獲取與設置自定義視圖信息 349
13.2.1 frame:方法:獲取自定義視圖的框架 349
13.2.2 setFrame:方法:設置自定義視圖框架 350
13.2.3 frameRotation:方法:獲取自定義視圖的旋轉度數 351
13.2.4 setFrameRotation:方法:設置自定義視圖旋轉度數 352
13.2.5 setFrameOrigin:方法:設置自定義視圖的位置 352
13.2.6 setFrameSize:方法:設置自定義視圖的大小 353
13.2.7 bounds:方法:獲取自定義視圖框架 354
13.2.8 setBounds:方法:設置自定義視圖框架 355
13.2.9 boundsRotation:方法:獲取自定義視圖的旋轉度數 356
13.2.10 setBoundsRotation:方法:設置自定義視圖旋轉的度數 357
13.2.11 setBoundsOrigin:方法:設置視圖的位置 358
13.2.12 setBoundsSize:方法:設置視圖的大小 358
13.2.13 subviews:方法:獲取子視圖 359
13.2.14 setPostsFrameChangedNotifications:方法:設置是否接收視圖的變化 360
13.2.15 setPostsBoundsChangedNotifications:方法:設置是否接收視圖的變化 361
13.2.16 printJobTitle:方法:獲取輸出標題 362
13.3 drawRect:方法:繪圖 362
13.4 判斷自定義視圖 363
13.4.1 postsFrameChangedNotifications:方法:判斷是否接收視圖變換的消息 363
13.4.2 postsBoundsChangedNotifications:方法:判斷是否接收視圖變換的消息 364
13.4.3 isFlipped:方法:判斷視圖是否翻轉 365
13.4.4 isRotatedFromBase:方法:判斷視圖是否旋轉 366
13.4.5 isRotatedOrScaledFromBase:方法:判斷視圖是否旋轉或縮放 367
13.4.6 canDraw:方法:判斷視圖是否繪制 367
13.4.7 isOpaque:方法:判斷視圖是否不透明 368
13.5 操作自定義視圖 369
13.5.1 addSubview:方法:添加視圖 369
13.5.2 removeFromSuperview:方法:刪除視圖 370
13.5.3 replaceSubview:方法:替換視圖 371
13.6 小結 372
第14章 文本框和文本視圖(NSTextField、NSTextView) 373
14.1 獲取與設置文本框信息 373
14.1.1 stringValue:方法:獲取文本框的字符串 373
14.1.2 setStringValue:方法:設置文本框中的字符串 374
14.1.3 backgroundColor:方法:獲取文本框的背景顏色 374
14.1.4 setBackgroundColor:方法:設置文本框的背景顏色 375
14.1.5 textColor:方法:獲取字符串的顏色 376
14.1.6 setTextColor:方法:設置字符串的顏色 376
14.1.7 setImportsGraphics:方法:設置是否可以將圖像拖到文本框 377
14.1.8 setEditable:方法:設置文本框是否可以編譯 378
14.1.9 bezelStyle:方法:獲取文本框邊框的風格 379
14.1.10 setBezelStyle:方法:設置文本框邊框的風格 379
14.1.11 setBezeled:方法:設置文本框是否接受bezeled邊框 380
14.1.12 setBordered:方法:設置文本框是否接受黑邊框 381
14.2 判斷文本框信息 382
14.2.1 importsGraphics:方法:判斷是否可以將圖像拖到文本框 382
14.2.2 isEditable:方法:判斷文本框是否可以編輯 383
14.2.3 isBezeled:方法:判斷文本框是否接受了bezeled邊框 384
14.2.4 isBordered:方法:判斷文本框是否接受了黑邊框 385
14.2.5 acceptsFirstResponder:方法:判斷文本框是否可以編輯 386
14.3 initWithFrame:方法:創建並初始化文本視圖 386
14.4 獲取與設置文本視圖信息 387
14.4.1 backgroundColor:方法:獲取文本視圖的顏色 388
14.4.2 setBackgroundColor:方法:設置文本視圖的背景顏色 388
14.4.3 setImportsGraphics:方法:設置文件是否可以導入到文本視圖 389
14.4.4 setAcceptsGlyphInfo:方法:設置文本視圖是否接受字形信息 390
14.4.5 setAlignment:方法:設置文本視圖內容的對齊方式 390
14.4.6 insertionPointColor:方法:獲取插入點的顏色 391
14.4.7 setInsertionPointColor:方法:設置插入點的顏色 392
14.4.8 setAllowsUndo:方法:設置文本視圖是否可以撤銷 393
14.4.9 selectedTextAttributes:方法:獲取用於指示選擇的屬性 394
14.4.10 setSelectedTextAttributes:方法:設置文本視圖用於指示選擇的屬性 394
14.4.11 textContainer:方法:獲取文本框的文本容器 395
14.4.12 acceptableDragTypes:方法:獲取文本視圖的數據類型 396
14.4.13 markedTextAttributes:方法:獲取繪制標記的文本屬性 397
14.4.14 setMarkedTextAttributes:方法:設置繪制標記的文本屬性 397
14.4.15 setSmartInsertDeleteEnabled:方法:設置選擇字符串周圍的空間 398
14.4.16 markedRange:方法:獲取被標記文本的范圍 399
14.4.17 selectedRange:方法:獲取選中文本的范圍 400
14.4.18 setSelectedRange:方法:設置文本的選中范圍 400
14.4.19 typingAttributes:方法:獲取新文本的屬性 401
14.4.20 setTypingAttributes:方法:設置新文本的屬性 402
14.5 判斷文本視圖的信息 403
14.5.1 importsGraphics:方法:判斷文件是否可以導入到文本視圖 403
14.5.2 acceptsGlyphInfo:方法:判斷文本視圖是否接受字形信息 404
14.5.3 allowsUndo:方法:判斷文本視圖是否啟用撤銷 405
14.5.4 smartInsertDeleteEnabled:方法:判斷選擇字符串周圍的空間 406
14.6 小結 407
第15章 圖像、圖像視圖(NSImage、NSImageView) 408
15.1 加載圖像 408
15.1.1 imageNamed:方法:加載Supporting Files文件夾中的圖片 408
15.1.2 initWithContentsOfURL:方法:加載URL中的圖像 409
15.1.3 initWithContentsOfFile:方法:加載文件中的圖片 410
15.1.4 initWithSize:方法:加載圖像的大小 411
15.2 獲取與設置圖像信息 411
15.2.1 size:方法:獲取圖像的大小 411
15.2.2 setSize:方法:設置圖像的大小 412
15.2.3 setFlipped:方法:設置圖像是否倒立 413
15.2.4 cacheMode:方法:獲取圖像的緩存模式 414
15.2.5 setCacheMode:方法:設置圖像的緩存模式 415
15.2.6 backgroundColor:方法:獲取圖像的背景色 415
15.2.7 setBackgroundColor:方法:設置圖像的背景色 416
15.2.8 name:方法:獲取圖像的名稱 416
15.2.9 setName:方法:設置圖像的名稱 417
15.2.10 setTemplate:方法:設置圖像是否表示一個模板圖像 417
15.2.11 imageTypes:方法:獲取圖像類型 418
15.2.12 imageUnfilteredTypes:方法:獲取圖像類型 419
15.2.13 imageFileTypes:方法:獲取文件類型 419
15.2.14 imageUnfilteredFileTypes:方法:獲取文件類型 420
15.2.15 imagePasteboardTypes:方法:獲取粘貼板類型 421
15.2.16 imageUnfilteredPasteboardTypes:方法:獲取粘貼板類型 422
15.2.17 representations:方法:獲取圖像表示 422
15.3 判斷圖像信息 423
15.3.1 isFlipped:方法:判斷圖像是否倒立 423
15.3.2 prefersColorMatch:方法:判斷圖像顏色匹配 424
15.3.3 isTemplate:方法:判斷圖像是否為模板圖像 424
15.4 獲取與設置圖像視圖 425
15.4.1 image:方法:獲取顯示圖像的信息 425
15.4.2 setImage:方法:設置顯示的圖像 426
15.4.3 imageAlignment:方法:獲取圖像的對齊方式 427
15.4.4 setImageAlignment:方法:設置圖像的對齊方式 428
15.4.5 imageFrameStyle:方法:獲取框架的風格 429
15.4.6 setImageFrameStyle:方法:設置框架的風格 430
15.4.7 imageScaling:方法:獲取圖像縮放的方式 431
15.4.8 setImageScaling:方法:設置圖像縮放方式 432
15.4.9 isEditable:方法:判斷圖像視圖是否可以編輯 433
15.4.10 setEditable:方法:設置圖像視圖是否編輯 434
15.4.11 allowsCutCopyPaste:方法:判斷圖像是否可復制、粘貼等操作 435
15.4.12 setAllowsCutCopyPaste:方法:設置圖像是否可復制、粘貼等操作 435
15.4.13 animates:方法:判斷圖像視圖是否播放動畫 436
15.4.14 setAnimates:方法:設置圖像視圖是否播放動畫 437
15.5 小結 438
第16章 表視圖(NSTableView) 439
16.1 獲取表視圖信息 439
16.1.1 rowHeight:方法:獲取表視圖的行高 439
16.1.2 headerView:方法:獲取NSTableHeaderView對象 440
16.1.3 intercellSpacing:方法:獲取表單元之間的間距 440
16.1.4 numberOfColumns:方法:獲取表視圖中的列數 441
16.1.5 numberOfRows:方法:獲取表視圖的行數 442
16.1.6 numberOfSelectedColumns:方法:獲取選中的列數 442
16.1.7 numberOfSelectedRows:方法:獲取選擇的行數 443
16.1.8 rowSizeStyle:方法:獲取行風格 444
16.2 設置表視圖的信息 445
16.2.1 setRowHeight:方法:設置表視圖的行高 445
16.2.2 setIntercellSpacing:方法:設置表單元之間的間距 446
16.2.3 setRowSizeStyle:方法:設置行風格 447
16.2.4 setAllowsColumnReordering:方法:設置用戶是否可以重新排列列標題 448
16.2.5 setAllowsColumnResizing:方法:設置是否可以調整列標題 449
16.2.6 setAllowsColumnSelection:方法:設置是否可以選擇一整列 450
16.2.7 setAllowsTypeSelect:方法:設置是否可以通過按鍵字符進行選擇 451
16.2.8 setAllowsMultipleSelection:方法:設置是否允許選擇多行或多列 452
16.3 判斷表視圖信息 454
16.3.1 allowsColumnReordering:方法:判斷用戶是否可以重新排列列標題 454
16.3.2 allowsColumnResizing:方法:判斷是否可以調整列標題 455
16.3.3 allowsColumnSelection:方法:判斷是否可以選擇一整列 456
16.3.4 allowsEmptySelection:方法:判斷是否允許有0個行或列被選中 457
16.3.5 allowsTypeSelect:方法:判斷是否可以通過按鍵字符進行選擇 457
16.3.6 allowsMultipleSelection:方法:判斷是否允許選擇多行或多列 458
16.4 小結 459
第17章 常見控件(NSButton、NSDatePicker、NSProgressIndicator、NSComboBox) 460
17.1 按鈕控件(NSButton) 460
17.1.1 title:方法:獲取按鈕的標題 460
17.1.2 setTitle:方法:設置按鈕的標題 461
17.1.3 image:方法:獲取按鈕的圖像 461
17.1.4 setImage:方法:設置按鈕的圖像 462
17.1.5 isTransparent:方法:判斷按鈕是否透明 463
17.1.6 setTransparent:方法:設置按鈕是否透明 464
17.1.7 showsBorderOnlyWhileMouseInside:方法:判斷邊框的顯示 464
17.1.8 setShowsBorderOnlyWhileMouseInside:方法:設置邊框的顯示 465
17.1.9 setButtonType:方法:設置按鈕的顯示類型 466
17.2 日期選擇器(NSDatePicker) 467
17.2.1 datePickerStyle:方法:獲取日期選擇器的樣式 468
17.2.2 setDatePickerStyle:方法:設置日期選擇器的樣式 469
17.2.3 dateValue:方法:獲取日期選擇器的起始日期值 469
17.2.4 setDateValue:方法:設置日期選擇器的起始日期值 470
17.2.5 datePickerMode:方法:獲取日期選擇器的模式 471
17.2.6 setDatePickerMode:方法:設置日期選擇器的模式 472
17.2.7 calendar:方法:獲取日期選擇器的日歷 472
17.2.8 setCalendar:方法:設置日期選擇器的日歷 473
17.2.9 locale:方法:獲取日期選擇器的語言環境 474
17.2.10 setLocale:方法:設置日期選擇器的語言環境 475
17.2.11 timeZone:方法:獲取日期選擇器的時區 475
17.2.12 setTimeZone:方法:設置日期選擇器的時區 476
17.2.13 maxDate:方法:獲取日期選擇器的最大日期 477
17.2.14 setMaxDate:方法:設置日期選擇器的最大日期 478
17.2.15 minDate:方法:獲取日期選擇器的最小日期 478
17.2.16 setMinDate:方法:設置日期選擇器的最小日期 479
17.3 進度條(NSProgressIndicator) 480
17.3.1 style:方法:獲取進度條的風格 480
17.3.2 setStyle:方法:設置進度條的風格 481
17.4 組合框(NSComboBox) 482
17.4.1 hasVerticalScroller:方法:判斷組合框是否有垂直滾動條 482
17.4.2 setHasVerticalScroller:方法:設置組合框是否有垂直滾動條 483
17.4.3 numberOfVisibleItems:方法:獲取可見項目的最大數量 484
17.4.4 setNumberOfVisibleItems:方法:設置可見項目的最大數量 485
17.4.5 intercellSpacing:方法:獲取下拉列表項之間的間距 486
17.4.6 setIntercellSpacing:方法:設置下拉列表項之間的間距 486
17.4.7 itemHeight:方法:獲取下拉列表中項目的高度 487
17.4.8 setItemHeight:方法:獲取下拉列表中項目的高度 488
17.4.9 addItemWithObjectValue:方法:添加一個對象 489
17.4.10 addItemsWithObjectValues:方法:添加多個對象對 490
17.4.11 insertItemWithObjectValue:方法:插入對象 491
17.4.12 objectValues:方法:獲取下拉列表中的項 492
17.4.13 numberOfItems:方法:獲取下拉列表中項目總數 493
17.4.14 removeAllItems:方法:刪除所有的項目 493
17.4.15 removeItemWithObjectValue:方法:刪除某一項目 494
17.4.16 selectItemWithObjectValue:方法:選擇某一項目 495
17.5 小結 496
網路書店
類別
折扣
價格
-
新書87折$256