問題タブ [class-cluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
14066 参照

objective-c - NSString インスタンスは、そのクラスを NSCFString として報告します

ここでの私の目的は非常に単純です。NSStringいくつかのテスト データに を設定してから、クラスを返す必要がありますNSString。これが私のコードです:

ログによると、クラスはNSCFStringではなくNSStringです。何が起きてる?

0 投票する
5 に答える
27812 参照

objective-c - Objective-C のいわゆる「クラス クラスタ」とは正確には何ですか?

NSArray はまさにそのようなものだと読んでいました。重そうです。私のデスクには、Objective-C、Cocoa、および C に関する非常に分厚い本が 7 冊あります。クラス クラスタについて言及しているものはありません。少なくとも本の巻末の索引には見つかりません。それで、それは何ですか?

0 投票する
2 に答える
681 参照

iphone - NSMutableArrayを反復するときの「スコープ外」エラー

このループで「url」変数にアクセスしようとすると、「範囲外」エラーが発生するのはなぜですか?

「self.winnerImageURLs」NSMutableArray内の非常にアイテムのクラスはNSCFStringとして返されるため、ここでの取引が何であるかはわかりません。

私が間違っていることについてのアイデアはありますか?

ありがとう

0 投票する
1 に答える
362 参照

iphone - クラス クラスタの初期化

私の iPhone アプリには抽​​象クラス WorkingView があります。UIView のサブクラスです。WorkingView には、具体的なサブクラスがたくさんあります。そのうちの 2 つは SimplifyView と MultiplyView です。

WorkingView の新しいインスタンスを作成するメソッドを作成しようとしています。このメソッドには渡されたモードがあり、適切な具象サブクラスのインスタンスを返す必要があります。この質問への回答によると、これは私がこれまでに持っているものです:

ここまでは順調ですね。しかし、ここに問題があります。SimplifyView の init メソッドでは、UIView の init メソッドを通じてオブジェクトを実行する必要があります。[super initWithFrame: frame] を呼び出すと、WorkingView だけが表示され、UIView までは表示されません。UIView の initWithFrame: メソッドを呼び出す initWithFrame: メソッドを WorkingView に作成できると思いますが、それはハックのように感じます。

これを処理する適切な方法は何ですか?

0 投票する
2 に答える
523 参照

ruby - Rubyで「クラスクラスタ」(具象サブクラスのインスタンスを持つファクトリクラス)を作成するには?

初期化パラメータに応じて具体的なインスタンスを作成する抽象クラスを作成したいと思います。例:

次に、FooSomething < SomethingGeneric、BarSomething < SomethingGeneric などが必要です。それから私がするとき:

FooSomething インスタンスを取得します。

ここでの問題は、「新しい」方法です。私はSomethingGeneric.newを定義しましたが、FooSomethingとBarSomethingはSomethingGenericのサブクラスであるため、ここでは間違った引数で呼び出される「新しい」メソッドを継承しています:

解決策の 1 つは、ファクトリ メソッド「new」に別の名前を使用することです。ただし、利便性にこだわり、「new」という名前の抽象スーパークラス ファクトリ メソッドを維持したいと考えています。

この問題を解決する最もクリーンで正しい方法は何ですか?

0 投票する
5 に答える
4777 参照

objective-c - Objective C - NSArray のサブクラス化

をサブクラス化NSArrayしようとしていますが、count メソッドにアクセスしようとするとアプリがクラッシュします。私はそれNSArrayクラス clusterであることを知っています。

  • しかし、これはどういう意味ですか?
  • NSArray をサブクラス化できるようにするための回避策はありますか?

単純にサブクラスNSObject化して配列をインスタンス変数として持つことができることはわかっていますが、むしろサブクラス化したいと思いますNSArray

編集: 理由: 私はカード ゲームを作成しています。いくつかの追加のメソッド ( 、、など)を持つようにDeckサブクラス化する必要があるクラスがあります。NSMutableArray-shuffle-removeObjects:-renewNSArray

0 投票する
1 に答える
768 参照

cocoa-touch - NSCFNumber による NSNumber カテゴリのエラー

OS X プロジェクトに WSDL2OBJC を使用しています。WSDL2OBJC によって生成されたコードの一部は、カテゴリを NSNumber に追加します。コードを使用しているときに、NSNumber で新しいメソッドを呼び出そうとすると、エラーが発生します。

NSNumber はクラス クラスターであり、プライベート クラスがあり、NSCFNumber は int のクラスであることを読みました。どうすればこれを機能させることができますか? NSCFNumber はプライベート クラスであるため、カテゴリを追加できません。この同じコードは、私が持っている iPhone プロジェクトでも機能します。

0 投票する
1 に答える
823 参照

objective-c - Objective-C クラス クラスタとプライベート クラス初期化子

通常、私は Cocoa の良い市民として、id後で簡単にサブクラス化できるように、型を返す初期化子 (つまり、ジェネリック オブジェクトへのポインター) を作成します (ただし、99% の場合は必要ありません)。

今、私は独自のクラス クラスター (単一のパブリック クラスで制限された多数のプライベート クラス) を作成しています。id質問: ジェネリックポインターを返すようにプライベート クラスのイニシャライザーを定義する必要がありますか?

または、次のようなプライベート クラス自体へのポインター:

0 投票する
4 に答える
1916 参照

objective-c - 型付きプロパティを追加したい場合、NSNotification のサブクラス化は正しいルートですか?

サブクラス化しようとしていNSNotificationます。

Apple のドキュメントにはNSNotification、次のように記載されています。

NSNotificationインスタンス変数のないクラス クラスタです。そのため、プリミティブ メソッド、、および をサブクラス化NSNotificationし、オーバーライド する必要があります。任意の指定イニシャライザを選択できますが、イニシャライザが (経由で)の の実装を呼び出さないことを確認してください。 直接インスタンス化することを意図しておらず、その メソッドは例外を発生させます。nameobjectuserInfoNSNotificationinit[super init]NSNotificationinit

しかし、これは私には明らかではありません。このような初期化子を作成する必要がありますか?

0 投票する
5 に答える
1728 参照

iphone - これら2つのNSStringメソッドの違い

だから私は今日のインタビューでこれを尋ねられました、そしていくつかのグーグルの後でも答えを理解することができません(実際、私は[NSString文字列]メソッドを使用するコードをまったく見つけることができませんでした)。

違いは何ですか

  1. NSString *someString = [NSString string];
  2. NSString *someString = [[NSString alloc] init];

私の最初の考えは、[NSString string]自動解放されるオブジェクトを返すのに対し、allocとinitを使用すると保持されているオブジェクトを返すというものでした。しかし、この答えは間違っていたようです。

私はアップルドキュメントでNSStringクラスリファレンスを見てきましたが、それが言っているのは

誰かが私にこれら2つの違いが何であるかを正確に説明できますか?