0

私はobj-cを学ぶ初心者です。次の行を入力すると

NSLog(@"System fonts are %@", [UIFont familyNames])

次の出力が得られました。

Thonburi,
"Snell Roundhand",
"Academy Engraved LET",
Avenir,
"Marker Felt",
"Geeza Pro",
"Arial Rounded MT Bold",
"Trebuchet MS",
Arial,
Marion,
"Gurmukhi MN",
"Malayalam Sangam MN",
"Bradley Hand",
"Kannada Sangam MN",
"Bodoni 72 Oldstyle",
Cochin,
"Sinhala Sangam MN",
"Hiragino Kaku Gothic ProN",
Papyrus,
Verdana,
"Zapf Dingbats",
"Avenir Next Condensed",
Courier,
"Hoefler Text",
Helvetica,
"Euphemia UCAS",
"Hiragino Mincho ProN",
"Bodoni Ornaments",
"Apple Color Emoji",
Optima,
"Gujarati Sangam MN",
"Devanagari Sangam MN",
"Times New Roman",
Kailasa,
"Telugu Sangam MN",
"Heiti SC",
"Apple SD Gothic Neo",
Futura,
"Bodoni 72",
Baskerville,
"Chalkboard SE",
"Heiti TC",
Copperplate,
"Party LET",
"American Typewriter",
Symbol,
"Avenir Next",
Noteworthy,
"Bangla Sangam MN",
Zapfino,
"Tamil Sangam MN",
Chalkduster,
"Arial Hebrew",
Georgia,
"Helvetica Neue",
"Gill Sans",
Palatino,
"Courier New",
"Oriya Sangam MN",
Didot,
"Bodoni 72 Smallcaps"

複数の単語を含むフォント名の前後に引用符がある理由を知りたいのですが。

Thonburi vs "Snell Roundhand"
4

1 に答える 1

2

NSLog"は、文字列の開始位置と終了位置を明確にするために、複数の単語の場合は引用符を出力します。文字列の配列を出力する場合にのみ使用されるため、NSArrayのdescriptionメソッドで定義する必要があります。それを指摘してくれたomzに感謝します。

フォントとは何の関係もありません。

NSArray *strings = @[@"Lorem ipsum dolor sit amet", @"gubergren"];
NSLog(@"%@", strings);
NSLog(@"%@", strings[0]);

プリント

2013-03-24 22:18:42.922 stringprinting[22876:303] (
    "Lorem ipsum dolor sit amet",
    gubergren
)
2013-03-24 22:18:42.923 stringprinting[22876:303] Lorem ipsum dolor sit amet

引用符なしですべての名前を印刷する場合は、各名前を個別に印刷できます

[[UIFont familyNames] enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL *stop) {
    NSLog(@"%@", obj);
}];

結果

Thonburi
Snell Roundhand
Academy Engraved LET
Avenir
Marker Felt
Geeza Pro
Arial Rounded MT Bold
…
于 2013-03-24T21:05:23.377 に答える