私が見つけた最も関連性の高い議論:Objective-Cでオブジェクトの配列を作成する。。この投稿を準備したときに表示されたリンクをスキャンしました。
自習モード。本のチュートリアルで取り組んでいるアイデアを強化および拡張するためのミニアプリを作成します。……………。
目標:別のオブジェクト(サンプルクラス'TourCompany')に含まれる、いくつかのオブジェクト(サンプルクラス'Trip')を可変配列に格納すること。
(2つの異なるクラスインターフェイスファイルの一部)
@interface Trip : NSObject
@property (strong, nonatomic) NSString *travelToLocation;
……</p>
@interface TourCompany : NSObject
@property (strong, nonatomic) NSMutableArray *trips ;
……コードと目標のピース...。
1)3つのトリップオブジェクトを作成し、travelToLocationivar...にアクセスできることを示します。
Trip *trip0 = [[Trip alloc] init];
Trip *trip1 = [[Trip alloc] init];
Trip *trip2 = [[Trip alloc] init];
[trip0 setTravelToLocation:@"Vienna"];
[trip1 setTravelToLocation:@"Mt. St. Helens"];
[trip2 setTravelToLocation:@"Tenochtitlan"];
NSString *somePlace1 = trip1.travelToLocation;
NSLog(@" %@ %@, \n \t Let's LOOK at one particular trip ivar %@.", twoBlanks, nuLn, somePlace1);
// CONSOLE RESULTS
// Let's LOOK at one particular trip ivar Mt. St. Helens.
.... 2)I
i)これらの3つのトリップオブジェクトをローカルで宣言されたNSMutable配列に格納できることii)travelToLocationivarにアクセスできることを示します...。
// put trip objects into a LOCALLY DECLARED mutable array
NSMutableArray *localTripsArray = [NSMutableArray array ];
//[myArray addObject: someOtherPerson]; - compare to a STackOverflow discussion
[localTripsArray addObject:trip0];
[localTripsArray addObject:trip1];
[localTripsArray addObject:trip2];
for (Trip *t in localTripsArray) {
NSLog(@"\n \t ^^^Trip location in LOCAL TRIPS Mutable ARRAY is %@", t.travelToLocation );
}
/*
CONSOLE RESULTS
objectInMutableArrayMiniAppChallenge[521:f803]
^^^Trip location in LOCAL TRIPS Mutable ARRAY is Vienna
2012-07-05 13:47:17.172 objectInMutableArrayMiniAppChallenge[521:f803]
^^^Trip location in LOCAL TRIPS Mutable ARRAY is Mt. St. Helens
2012-07-05 13:47:17.172 objectInMutableArrayMiniAppChallenge[521:f803]
^^^Trip location in LOCAL TRIPS Mutable ARRAY is Tenochtitlan
*/
.... 3)しかし、TourCompanyクラス('friendlySkiesTourCo')のインスタンスにこれらの3つのオブジェクトをNSMutable配列('trips')に格納しない理由がわかりません...//オブジェクトをインスタンス化するようになりましたTourCompanyクラス
TourCompany *friendlySkiesTourCo = [[TourCompany alloc] init];
// put those same objects into the trips ivar in that object
//[myArray addObject: someOtherPerson];
// - compare to a STackOverflow discussion
//only difference I see is that instead of locally declared 'myArray'
// I'm using an ivar that's a member of an object
// I know there's are values in those objects, because I displayed them above
[friendlySkiesTourCo.trips addObject:trip0];
[friendlySkiesTourCo.trips addObject:trip1];
[friendlySkiesTourCo.trips addObject:trip2];
for (Trip *t in friendlySkiesTourCo.trips) {
NSLog(@ "\ n \ t +++TourCompanyクラスオブジェクトであるオブジェクト'friendlySkiesTourCo'の'trips'可変配列のトリップ位置は%@"、t.travelToLocation);
}
/* Console NON-Results
I never get any output from this NSLog directive
I'll bet there is something pretty basic I don't understand
No doubt, it's in the Gol Durned Manual online , but I'm not seeing it
*/
....4.問題が設定タイプの問題である可能性があることを再確認しましょう....
//オブジェクトをfriendlySkiesオブジェクトのこの特定の可変配列に正しく配置していないと思います//しましょうチェックするだけ
int howManyTripsInMutableArray = [friendlySkiesTourCo.trips count];
NSLog(@"\n \tThere are %d trips for the friendlySkiesTour Co ", howManyTripsInMutableArray);
/*
Sure enough...
2012-07-05 13:53:53.235 objectInMutableArrayMiniAppChallenge[555:f803]
There are 0 trips for the friendlySkiesTour Co
*/
手がかりをありがとう。私がこの記事を簡潔に作成したこと、そして私がRTGDMを実行しなかったとは思わないことを願っています(不思議に思うかもしれませんが、それは「ゴルダーン」です)。
月桂樹