最初の質問に関しては、まさにそれを行うことができます。より視覚的に理解できるようにするための例は次のとおりです。
YourClassName.h
#import <Foundation/Foundation.h>
@interface YourClassName : Subclass //replace subclass with something like NSObject or whatever you need
{
}
- (BOOL)containsObject:(id)anObject;
@end
と...
YourClassName.m
#import "YourClassName.h"
@implementation YourClassName
- (BOOL)containsObject:(id)anObject
{
//Insert function body here
}
@end
2 番目の質問については、私は NSArray を使用したり、その奇妙な関数を使用してロードしたりすることにあまり慣れていません。私のアドバイスは、(id)anObject の代わりに (NSArray)anObject を使用することです。これは、配列を関数に直接ロードして、そこで検索パラメーターを作成できるためです。containsObject に関して、どのオブジェクトを探しているのか正確にはわかりません。番号が含まれているかどうかを確認していますか?値に配列が含まれている場合は? 少し指定してください。より良い答えを掘り下げることができるかもしれません
編集:
あなたはObjective-Cに慣れていないので、おそらく配列内の数字を探しているだけだと思いました。目的を達成するには、いくつかのオプションがあります。どちらも機能の変更が必要です。最初は、関数を次のように変更するだけです。
- (BOOL)containsObject:(int)object fromArray:(int*)array length:(int)length;
YourClassName.h で。パラメータをいつでも別のデータ型に変更できるようになりましたが、これは整数に対しても機能します。長さパラメータなしでこれを行うこともできますが、コードを節約できると思います (個人的な好み)。そして .m ファイルで:
- (BOOL)containsObject;(int)object fromArray:(int*)array length:(int)length
{
for(int i = 0; i <= length; i++)
{
if (array[i] == object)
{
return YES;
}
}
return NO;
}
2番目は、長さオプションともう少しコードがないだけです