iPhoneアプリ内で、データ構造としてqueueを利用したい場合、それそのものなクラス(例えばJavaにおけるjava.util.Queueの実装クラス)は存在しないようです。ただ、Cocoa FoundationフレームワークのNSMutableArrayを利用すると、容易に実装できます。 ※ちなみにリスト1のQueueクラスはマルチスレッド対応をしてあります。 リスト1. queueの実装 //Queue.h @interface Queue : NSObject { NSMutableArray *queue; int maxSize; } - (id)initWithSize:(int)maxSize; - (id)dequeue; - (void)enqueue:(id)anObject ; - (int)count; @end //Queue.m @implementatio
このエントリはSwift 1.0の時に初版を書きました このエントリはSwift version 2.1 / Xcode 7.1.1 で動作確認済みです Swift Book にはスレッドや同期(synchronization)への言及がないからどうしたものかなと思っていたのだけど、objcにAPIをつかえば実現はできそうだ。 参考: What is the Swift equivalent to Objective-C's “@synchronized”? demo: https://github.com/gfx/Swift-MultiThreading objc_sync_enter() / objc_sync_exit() を使う これらはobjcの低レベルAPIで、@synchronized ブロックの実装のためにコンパイラが使う関数だけど、Swiftからも呼び出せる。 このままだ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く