sci

最果て風呂

CocoaMto に辞書の要素を表示するダイアログを実装

メニューバーを利用してファイルの入出力

この記事の続き。

辞書の語彙量を計算して表示させる機能を追加した。それ用の新しいウインドウを作成する方法がわからないので、とりあえずメニューバーから「情報」を選択すると inputTextArea に出力させるようにしてある。

アラートダイアログを使って表示させることができるようになった。単に文字列を表示させるだけなので、アラートで十分だった。

- (IBAction)showDictInfo:(id)sender {
    NSString *hoge = [[MTOAppDelegate alloc] calcDictElems];
    NSAlert *alert = [[NSAlert alloc] init];
    [alert setMessageText:@"変換辞書の要素数について..."];
    [alert setInformativeText:hoge];
    [alert runModal];
}

- (NSString *)calcDictElems {
    NSString *kanadict = [[NSBundle mainBundle] pathForResource:@"kana-jisyo" ofType:nil];
    NSString *kanjidict = [[NSBundle mainBundle] pathForResource:@"kanji-jisyo" ofType:nil];
    NSInteger kana = [[[MTOAppDelegate alloc] createDict:kanadict] countOfInnerDict];
    NSInteger kanji = [[[MTOAppDelegate alloc] createDict:kanjidict] countOfInnerDict];
    NSString *str = [NSString stringWithFormat:@"辞書の語彙は %lu です\n\n 仮名変換用:%lu\n 漢字変換用:%lu", kana + kanji, kana, kanji];
    return str;
}

- (NSInteger)countOfInnerDict {
    return [_innerDict count];
}

何だか無駄な変数を使って無駄なことをしている感じなんだよなぁ。もっとスマートにできないものだろうか?