私はさまざまな種類のオブジェクトでいっぱいになっているNSArrayを持っています。 1つはNSDictionaryで、もう1つはNSDataです。 この配列からオブジェクトをランダムに選択して、オブジェクトの種類を確認します。 NSDictionaryの場合は、メソッドAを実行します。 NSDataの場合は、メソッドBを実行します。Arrayからランダムに選択されたオブジェクトタイプを取得しますか?
これをコードにする方法はありますか?
ありがとうございます!
私はさまざまな種類のオブジェクトでいっぱいになっているNSArrayを持っています。 1つはNSDictionaryで、もう1つはNSDataです。 この配列からオブジェクトをランダムに選択して、オブジェクトの種類を確認します。 NSDictionaryの場合は、メソッドAを実行します。 NSDataの場合は、メソッドBを実行します。Arrayからランダムに選択されたオブジェクトタイプを取得しますか?
これをコードにする方法はありますか?
ありがとうございます!
は本当に重要ではありません。
乱数ジェネレータを使用すると、0から配列の最後のインデックスまでの数値を取得できます。その後、オブジェクトを取得すると、配列から返されたオブジェクトに対してisKindOfClassまたはisMemberOfClassメソッドを使用できます。
id obj = [array methodThatReturnsARandomObject];
if ([obj isKindOfClass:[NSDictionary class]]) {
a();
} else if ([obj isKindOfClass:[NSData class]]) {
UIImage *image = [UIImage imageWithData:obj]
}
それとも、
NSObject *obj = [array methodThatReturnsARandomObject];
if ([obj isKindOfClass:[NSDictionary class]]) {
a();
} else if ([obj isKindOfClass:[NSData class]]) {
UIImage *image = [UIImage imageWithData:(NSData *)obj]
}
を行うことができますのObjective-Cに変換
1つの質問。メソッドBでは、NSDataをUIImageに変換しているとしたら、どうすればいいですか?私は変数objを使用してみましたが、警告をスローするようです。 –
[UIImage imageWithData:obj]を試しましたか? –
はい 'NSObject'型のパラメータに 'NSObject'を送信する互換性のないポインタ型を取得します –