本站電子書

您可以在這些電子書店找到本站電子書: Google Play 圖書iBooks StoreHyReadReadmooPubu
===>>>本站推出學習遊戲意見調查<<<===《如何自學程式設計》入選 Google Play 台灣地區2016年度最佳書籍

Objective-C 入門指南 - NSMutableArray

NSMutableArray 是另一種常用的陣列 (array) 物件 (object) ,屬於可變 (mutable) 的物件種類,裡頭可以放任何的型態的物件




建立 NSArray 很簡單,有一個類別方法 (class method) 與一個 init 方法 (method) 可供運用
名稱
+ arrayWithCapacity:
– initWithCapacity:


例如我們會利用 arrayWithCapacity: 建立有 26 個空格的陣列
cArray = [NSMutableArray arrayWithCapacity: 26];


以下列出 NSMutableArray 的方法
功能名稱
增加元素物件
– addObject:
– addObjectsFromArray:
– insertObject:atIndex:
– insertObjects:atIndexes:
移除元素物件
– removeAllObjects
– removeLastObject
– removeObject:
– removeObject:inRange:
– removeObjectAtIndex:
– removeObjectsAtIndexes:
– removeObjectIdenticalTo:
– removeObjectIdenticalTo:inRange:
– removeObjectsInArray:
– removeObjectsInRange:
替換元素物件
– replaceObjectAtIndex:withObject:
– setObject:atIndexedSubscript:
– replaceObjectsAtIndexes:withObjects:
– replaceObjectsInRange:withObjectsFromArray:range:
– replaceObjectsInRange:withObjectsFromArray:
– setArray:
過濾內容– filterUsingPredicate:
排列內容
– exchangeObjectAtIndex:withObjectAtIndex:
– sortUsingDescriptors:
– sortUsingComparator:
– sortWithOptions:usingComparator:
– sortUsingFunction:context:
– sortUsingSelector:


關於 NSMutableArray 的詳細定義與說明,請參考
NSMutableArray Class Reference


我們會利用迴圈 (loop) 計算密碼表中每一個對應的字元,然後利用 addObject: 將該字元(其實是 NSString 物件)加入 cArray 之中,程式如下
int i, d, ci, count, m;
for (i = 0, count = c;i < n;i++) {
    ci = count;
    d = ci * a + b;
    m = d % n;
    [cArray addObject: [oArray objectAtIndex: m]];
    count++;
}


NSMutableArray 大致介紹到這裡,接下來進入重頭戲,我們要來設計 initRandomEncrypt 方法,其他物件導向程式語言 (object-oriented progamming language) 稱之為建構子 (constructor) 。


中英文術語對照
陣列array
物件object
可變mutable
類別方法class method
方法method
迴圈loop
物件導向程式語言object-oriented progamming language
建構子constructor


您可以繼續參考
軟體開發


相關目錄
Objective-C 入門指南
Objective-C 教材
首頁



參考資料
Learning Objective-C: A Primer
The Objective-C Programming Language
Cocoa Fundamentals Guide
Coding Guidelines for Cocoa
Advanced Memory Management Programming Guide
Archives and Serializations Programming Guide

沒有留言: