多分誰かが私を助けることができます。私は間違いをしない。私はtableViewと簡単なアプリケーションを持っています。そのテーブルのビューには、多くの異なるものがリストされています。ユーザーがセルをクリックすると、ViewControllerにアクセスし、選択したセルのさまざまな写真や説明を見ることができます(たとえば、Dog initという名前のセルをクリックすると、イヌの写真や説明が表示されます)。すべての "事"のために私は自分のクラスを作りました。たとえば、私はクラスの犬、猫、車を持っています。すべてのクラスで、私はPictureViewとTableViewControllerに返されるテキストファイルを含む配列を作成しました。オブジェクトを配列に入れる方法は?
私はTableViewControllerに異なるクラスのオブジェクトを作成しました:
#import "IphoneTabelle.h"
#import "ViewController.h"
#import "Dogs.h"
#import "Cats.h"
@interface IphoneTabelle()
@end
@implementation IphoneTabelle
- (void)viewDidLoad {
[super viewDidLoad];
/
//create dog object for array
Dogs *dogClass = [[WLAN alloc]init];
_createdClassObjectArrayPics = dogClass.picsDogs;
_createdClassObjectArrayText = dogClass.textDogs;
//Cat objects created for array
Cats *catClass = [[ControlCenter alloc]init];
_createdClassObjectArrayPics = catClass.picsCats;
_createdClassObjectArrayText = catClass.textCats;
//create objects if they dont exists
if (!_objects){
_objects = [[NSMutableArray alloc] init];
}
//put the class-objects array in objects array
[_objects addObject:NSStringFromClass([dogClass class])];
[_objects addObject:NSStringFromClass([catClass class])];
をだから、wennユーザーがセグエが使用されているセルをクリックします。ピクチャとテキストは、ViewController.hから配列に格納されるはずです。これらの配列は、ViewController内のピクチャとテキストを表示するために使用されます。 、その理由を 「NSInvalidArgumentException」:ユーザーがセルをクリックすると
セグエコード
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
ViewController *sendDataToViewController = segue.destinationViewController;
NSIndexPath *indexPath = nil;
NSArray *picturesArrayTableView = [[NSArray alloc]init];
NSArray *texteArrayTableView = [[NSArray alloc]init];
if([segue.identifier isEqualToString:@"show"]){
picturesArrayTableView = _createdClassObjectArrayPics[indexPath.row];
texteArrayTableView = _createdClassObjectArrayText[indexPath.row];
//picsArray and textsArray are declared in ViewController.H file
sendDataToViewController.picsArray= picturesArrayTableView;
sendDataToViewController.textsArray = texteArrayTableView;
}
だから私は毎回エラーが発生します - :認識されていないセレクタがインスタンスに送信された」[__ NSCFConstantStringカウント]を0x10becc198 '
何とかピクチャとテキストのデータがpicturesArrayTableViewとtexteArrayTableViewにありません。
どのようにして1つのセグで仕事を得ることができますか?私はすべての細胞/物体のためにセグをしたくありません。その方法は確かに動作しますが、何百ものセグを作成するのは本当に面倒で面倒です。
何とか私の質問を明確にすることができれば幸いです。
このdogClass.picsDogsは何を返しますか? –
'_createdClassObjectArrayPics'は常に最後にオブジェクトを追加します。あなたの場合はcatClass.picsCatsです。 – Mahesh
異なるクラスはピクチャの配列とテキストの配列を返しています。 – podoi17