君はコンビニ店員に喧嘩を売られたことはあるか?

老若男女問わず、日本人なら日頃から愛用しているコンビニエンスストア。

ワイも日に何回かは近所のコンビニに立ち寄っている。

大抵、若い店員さんなんかが元気よく接客してくれると思う。

良い社会勉強になってんだろうなあと思う。

中には「向いてないだろ、この人」という人もいるが、数ヶ月後にはいなくなっているので客としてはそれほど不愉快な思いをすることはない。

・・・なのだが、近所コンビニにやたら攻撃的な店員がいて、今、どうしようか真面目に検討中。

みなさんの周りにはそんな店員います?

 

(続く)

Karaku 2023 秋

脱ヲタ服を目指しているわけだが、秋物が手薄ということでアイキャッチのジャケットとシャツをいつものように Karaku で購入。

ジャケットは結構早く到着した。

価格の割に安物っぽさはない。こういうちょっと攻めた服は以前愛用していたユニクロにはないので、気に入った。

しかし、これに合うインナーがないんだな、これが(笑)

まあ、つい最近までオシャレなんか全くしてこなかったので当然か。

買ったはいいもののお披露目できない。

というわけで少々小洒落た感じのシャツを物色。
ドンピシャというわけではないがレビューの評価を参考にアイキャッチの長袖シャツを購入。

現在、絶賛配送中。

 

なんか周囲から「頑張れ!」と言われているような気がするので(圧を感じている)、さらに物色。
いつもの karaku ではないが、これもオーダー。

「着こなしが難しいのでは?」、「モデルとお前は色々な意味で違う」、「腹まわり大丈夫?」、「オネエ系でキモい」。。。

そういった声が聞こえたような気もするが、チャレンジします(きっぱり)。

image: https://www.fecaco.shop/items/51697790

CoreData みたびw

すっかり CoreData の使い方を忘れていたので、最初から。

NSPersistentContainer, sqlite ファイルの配置指定など

Xcode で CoreData を使う旨の指定をしてプロジェクトを生成すると NSPersistentContainer はできている。

具体的には

@synthesize persistentContainer = _persistentContainer;

- (NSPersistentContainer *)persistentContainer {
    // The persistent container for the application. This implementation creates and returns a container, having loaded the store for the application to it.
    @synchronized (self) {
        if (_persistentContainer == nil) {
            _persistentContainer = [[NSPersistentContainer alloc] initWithName:@"CoreData2"];

といったコードが、AppDelegate.m に自動生成されている。

では、これを単純にビルド→ランさせただけで CoreData2.sqlite ができるかというとそうはならないようだ。

検証の必要はあるが、Display Name = CoreData2 と指定しないと sqlite ファイルを作成しないようだ。

また、sqlite ファイルのコンテナ領域の中の Application Support フォルダの中である。

ややこしい。。。

ところで、これ、置き場所を変えられないものなんだろうか?

結果から言うとできるっぽい。
上の記事にあるようにハンドラを呼び出す前に、URL を改変して指定する。

_persistentContainer = [[NSPersistentContainer alloc] initWithName:@"AppName"];
NSPersistentStoreDescription *storeDescription = _persistentContainer.persistentStoreDescriptions.firstObject;
NSURL *URL = [storeDescription.URL.URLByDeletingLastPathComponent URLByAppendingPathComponent:@"NewLocation.sqlite"];
storeDescription.URL = URL;
[_persistentContainer loadPersistentStoresWithCompletionHandler:^(NSPersistentStoreDescription *storeDescription, NSError *error) {

OneToOne の一方向の関係性

というようなものもつくれるが、需要はなさそう。

AppDelegate.m
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    _persistentContainer = [self persistentContainer];
    
    NSManagedObjectContext *context = _persistentContainer.viewContext;
    Child *child = [NSEntityDescription insertNewObjectForEntityForName:@"Child"
                                                       inManagedObjectContext:context];
    child.name = @"taro";
    Child *child2 = [NSEntityDescription insertNewObjectForEntityForName:@"Child"
                                                       inManagedObjectContext:context];
    child2.name = @"hanako";
    Person *person = [NSEntityDescription insertNewObjectForEntityForName:@"Person"
                                                       inManagedObjectContext:context];
    person.name = @"yamada";
    person.children = child;
    NSError *error = nil;
    [context save:&error];

結果。

(続く)

保護中: reboot2

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。

reboot

ここ数ヶ月、IT とは別件の仕事に追われていたので、再起動。

期間が空いても C や Java の基本を忘れることはまずないが、開発環境の使い方なぞはよく忘れる。

というわけで『Xcode で GUI アプリ』再読。

あー、main.m ってあったなあとか、徐々に思い出していく。

しかし、AppDelegate に代表されるデリゲートパターンはクセ強いよね。いまだにしっくりきてない。

(続く)