0
Qt Cocos2dからiOS cocos2dに移植しています。Objective-C++を最小限の労力で言語として使用していますが、移植性の高いC++クラスにNSMutableArrayをラッピングしています。私のクラスは、私は、この行NSMutableArrayがC++クラスにラップされています
にEXC_BAD_SIGNALが供給していQList.mmQList.h
#ifndef QLIST_H
#define QLIST_H
#import <Foundation/Foundation.h>
class QList {
NSMutableArray* List;
public:
QList();
~QList();
void append(id);
id at (int i);
int size();
bool isEmpty();
id takeLast();
id last();
void prepend(id);
id takeAt(int i);
id takeFirst();
void clear();
};
#endif
#ifndef QLIST_MM
#define QLIST_MM
#import "QList.h"
QList::QList() {
List = [[NSMutableArray alloc] init];
}
QList::~QList() {
[List autorelease];
List = nil;
}
void QList::append(id object) {
[List addObject:object];
}
id QList::at(int i) {
return [List objectAtIndex:i];
}
int QList::size() {
return [List count];
}
bool QList::isEmpty() {
if ([List count] == 0)
return true;
return false;
}
id QList::takeLast() {
id temp = [List lastObject];
[List removeLastObject];
return temp;
}
id QList::last() {
return [List lastObject];
}
void QList::prepend(id object) {
[List insertObject:object atIndex:0];
}
id QList::takeAt(int i) {
id temp = [List objectAtIndex:i];
[List removeObjectAtIndex:i];
return temp;
}
id QList::takeFirst() {
return takeAt(0);
}
void QList::clear() {
[List removeAllObjects];
}
#endif
です
return [List count];
誰も私を助けてもらえ、私はずっと、事前に感謝し、それを感謝:)
問題はこの行にあります ai_uni t.playerP = this; 私はので、私はそれをアンコメントすることができ、後で時間までそれをコメントアウトし、それはそれをアクセスしようとしていた:) 感謝!、あなたは、このコードのアドバイスを持っている場合、私に知らせて:P – shbli
アドバイス/警告:コードが暗黙的に 'QList'オブジェクトをコピーしていないことを確認するか、コピーコンストラクタでretainを呼び出すことなく' List'を解放することになります。 – Joe
アドバイスありがとう、実際には、問題を引き起こしているので、実際にはデストラクタメソッド〜QListのコードを削除しています。QListを使用した後にリリースと呼ばれる関数を追加して手動で解放します。 – shbli