自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一個(gè)簡單的Cocoa命令行工具

移動(dòng)開發(fā) iOS
本文介紹了一個(gè)簡單的命令行程序。給定一系列隨機(jī)的詞作為參數(shù),由該命令行程序?qū)⒍嘤嗟脑~刪除,并將剩下的詞按字母排序,打印在標(biāo)準(zhǔn)輸出上。下面的列表顯示該程序的一個(gè)典型執(zhí)行結(jié)果。

讓我們從一個(gè)簡單的命令行程序開始吧。給定一系列隨機(jī)的詞作為參數(shù),由該命令行程序?qū)⒍嘤嗟脑~刪除,并將剩下的詞按字母排序,打印在標(biāo)準(zhǔn)輸出上。下面的列表顯示該程序的一個(gè)典型執(zhí)行結(jié)果。

下面的列表是一個(gè)簡單的Cocoa工具的輸出

localhost> SimpleCocoaTool a z c a l q m z
a
c
l
m
q
z

下面的列表顯示該程序的Objective-C代碼。

使輸入的詞唯一并將其排序的工具的Cocoa代碼

#import <Foundation/Foundation.h>
 
int main (int argc, const char * argv[]) {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSArray *args = [[NSProcessInfo processInfo] arguments];
    NSCountedSet *cset = [[NSCountedSet alloc] initWithArray:args];
    NSArray *sorted_args = [[cset allObjects]
        sortedArrayUsingSelector:@selector(compare:)];
    NSEnumerator *enm = [sorted_args objectEnumerator];
    id word;
    while (word = [enm nextObject]) {
        printf("%s\n", [word UTF8String]);
    }
 
    [cset release];
    [pool release];
    return 0;
}

這段代碼創(chuàng)建并使用了幾個(gè)對象:一個(gè)自動(dòng)釋放池,用于內(nèi)存管理;集合對象(多個(gè)數(shù)組和一個(gè)集合),用于對指定的詞進(jìn)行唯一性處理和排序;一個(gè)枚舉對象,用于遍歷最終數(shù)組的元素以及將它們打印在標(biāo)準(zhǔn)輸入上。

關(guān)于代碼,您可能注意到的第一件事是代碼很短,可能比同樣功能的ANSI C程序短得多。雖然很多代碼可能看起來有些奇怪,但代碼中的很多元素又和ANSI C類似,比如賦值操作符、流程控制語句( while)、對C語言連接庫例程(printf)的調(diào)用、以及基本的標(biāo)量類型等等。Objective-C的基礎(chǔ)顯然是ANSI C。

本章的剩余部分將考察這段代碼中的Objective-C元素。這些元素將作為例子,用于討論從消息發(fā)送機(jī)制到內(nèi)存管理技術(shù)的各種主題。如果您之前從未見過Objective-C的代碼,那么這個(gè)例子可能看起來很可怕,又繞又晦澀,但是這個(gè)印象很快就會(huì)消失。Objective-C實(shí)際上是一種簡單而優(yōu)雅的編程語言,易于學(xué)習(xí),編程也很直接。

責(zé)任編輯:佚名 來源: 蘋果官網(wǎng)
相關(guān)推薦

2016-08-10 12:41:00

Linux工具bcShell

2019-06-10 15:00:27

node命令行前端

2018-05-03 12:35:05

Linux命令Pet

2019-05-30 10:40:04

ddgrLinuxDuckDuckGo

2022-02-17 18:21:47

工具HTTPie客戶端

2020-12-08 08:46:07

GoJava工具

2016-09-23 20:16:23

TaskwarriorLinux命令行工具

2018-06-12 15:10:11

Linuxvim命令PacVim

2022-01-26 18:59:08

Python工具

2019-04-04 11:00:40

iWant命令行工具開源

2022-01-11 09:05:07

工具Python 命令行

2021-05-17 10:32:10

命令行工具GitHub代碼

2020-12-10 16:16:08

工具代碼開發(fā)

2020-12-11 06:44:16

命令行工具開發(fā)

2018-05-02 08:06:12

2015-07-29 10:34:50

Linux系統(tǒng)命令行工具

2015-07-30 11:04:08

Linux命令行工具

2015-07-30 11:24:47

Linux 系統(tǒng)命令行工具

2020-03-30 12:57:50

Linux命令行Markdown

2010-08-24 09:10:14

Linux命令行工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)