Objective c ObC:如何将内存指针转换为dataP
我有一个RowOfPlayerData类型的自定义数据容器对象。当我试图在NSLog中显示RowOfPlayerData对象时,系统不知道如何显示它,所以它只显示对象的地址 我试图找出如何在NSLog语句中显示该地址的内容,以便使用数据 我试图在有关NSPredicate的教程的基础上构建此文档: 我试图对输出进行某种描述,但没有成功 我已经试着弄清楚如何这样做,以便能够访问数据。下面是我使用过的测试代码和我目前的一些输出。顺便说一句,我是新手 如果有人能帮助我以正确的格式显示playerArray中的数据,我将不胜感激,因为我不明白这一点 [守则]Objective c ObC:如何将内存指针转换为dataP,objective-c,nsmutablearray,ios4,nslog,Objective C,Nsmutablearray,Ios4,Nslog,我有一个RowOfPlayerData类型的自定义数据容器对象。当我试图在NSLog中显示RowOfPlayerData对象时,系统不知道如何显示它,所以它只显示对象的地址 我试图找出如何在NSLog语句中显示该地址的内容,以便使用数据 我试图在有关NSPredicate的教程的基础上构建此文档: 我试图对输出进行某种描述,但没有成功 我已经试着弄清楚如何这样做,以便能够访问数据。下面是我使用过的测试代码和我目前的一些输出。顺便说一句,我是新手 如果有人能帮助我以正确的格式显示playerArr
@interface RowOfPlayerData : NSObject {
NSString *playerName;
NSString *curGameType;
}
@property(nonatomic, retain) NSString *playerName;
@property (nonatomic, retain) NSString *curGameType;
-(void)addPlayerData2Array;
@end
以下是.m文件:
-(void)addPlayerData2Array {
NSLog(@">>addPlayerData2Array started<<");
NSMutableArray *playerArray = [[NSMutableArray alloc] init];
RowOfPlayerData *row;
row = [[RowOfPlayerData alloc] init];
row.playerName = @"Player1";
row.curGameType = @"NORMAL1";
NSLog(@"<#1> row.playerName: %@", row.playerName);
NSLog(@"<#2> row.curGameType: %@", row.curGameType);
[playerArray addObject:row];
NSString *xx;
xx = [playerArray objectAtIndex:0];
NSLog(@"<#3> playerArray: %@", xx);
-(void)addPlayerData2Array{
NSLog(@“>>addPlayerData2Array已启动如果希望在通过NSLog输出时将对象输出为更合理的对象,则只需为对象实现说明方法
例如:
- (NSString*)description {
return [NSString stringWithFormat:@"Player: %@, GameType: %@", self.playerName, self.curGameType];
}
然后,当您要将其输出到日志中时:
NSLog(@"Row - %@", myRowOfPlayerData);
这里有一个问题:
[playerArray addObject:row];
NSString *xx;
xx = [playerArray objectAtIndex:0];
NSLog(@"<#3> playerArray: %@", xx);
尽管如此,我认为您的方法并不正确。您正在对对象调用实例方法-(void)addPlayerData2Array
,但随后您将创建一个全新的RowOfPlayerData
,并以数组形式返回它。您应该做的是:
-(void)addPlayerData2Array {
return [NSArray arrayWithObjects:self.playerName, self.curGameType, nil];
}
如果在对象上调用此方法,则可能应该从该对象返回数据
-(void)addPlayerData2Array {
return [NSArray arrayWithObjects:self.playerName, self.curGameType, nil];
}