获取 class 属性 的值 (NSMutableArray)
get value of class property (NSMutableArray)
我是 objective-c 的新手,已经在 App Store 中发布了我的应用程序的第一个版本,但我想改进我的应用程序,因为在当前版本中,我只能输入 4 个玩家名称。
在我的新 iOS 应用程序中,我有一个 table 视图,其中列出了用户可以在另一个视图控制器中输入的所有名称。
当用户按下播放键时,我想显示一个带有随机人物姓名的 UIAlertView。
此刻,我想在 NSLog 中显示所有名称,但我不知道该怎么做。使用我当前的代码,该应用程序不断崩溃。
我有一个 class,Zoep,它是 NSObject 的子class。并具有以下属性:
@property (strong, nonatomic) NSString *playername;
@property BOOL *checked;
在 table 视图控制器中,我有以下代码来显示 NSMutable 数组中的项目并显示 NSLog 中的所有名称。我想我现在快要做到了:
- (IBAction)play:(id)sender {
NSString *aantal = [NSString stringWithFormat: @"%ld", (long)[self.zoepers count]];
NSLog(@"array count: %@", aantal);
for (int i = 0; i < 2; ++i) {
NSLog(@"Naam: %lu", (unsigned long)[self.zoepers indexOfObject:[i]]);
}
}
使用上面的代码,我仍然得到以下错误并且无法编译:
Expected identifier
有人能给我指出正确的方向吗?当你有什么窍门给我的时候,我也想知道。
非常感谢!
如下更改您的代码..
indexOfObject 指的是 id 类型的对象..实际上你传递的是 int 而不是对象..
你可以使用 (.) 来获取一些 属性 对象的值,比如 obj.propertyname..
for (int i = 0; i < 2; ++i)
{
Zoep *zoepObj=[self.zoepers objectAtIndex:i];
NSLog(@"Naam: %@",zoepObj.playename);
}
希望对你有帮助..
NSString
是一个对象,可以使用 %@
而不是 %lu
打印。更新您的代码,您就拥有了自己的名字。
for (int i = 0; i < 2; ++i) {
Zoep *player = (Zoep *)[self.zoepers objectAtIndex:i];
NSLog(@"Naam: %@", player. playername);
}
结论:您正在将 Zoep
class 对象存储到您的 zoepers
数组中,因此在访问 zoepers
时您将首先引用 Zoep
class 对象,然后可以访问该 class.
的属性
顺便说一句,indexOfObject:
获取一个对象并将 return 索引(数组中的位置)。
我是 objective-c 的新手,已经在 App Store 中发布了我的应用程序的第一个版本,但我想改进我的应用程序,因为在当前版本中,我只能输入 4 个玩家名称。
在我的新 iOS 应用程序中,我有一个 table 视图,其中列出了用户可以在另一个视图控制器中输入的所有名称。
当用户按下播放键时,我想显示一个带有随机人物姓名的 UIAlertView。
此刻,我想在 NSLog 中显示所有名称,但我不知道该怎么做。使用我当前的代码,该应用程序不断崩溃。
我有一个 class,Zoep,它是 NSObject 的子class。并具有以下属性:
@property (strong, nonatomic) NSString *playername;
@property BOOL *checked;
在 table 视图控制器中,我有以下代码来显示 NSMutable 数组中的项目并显示 NSLog 中的所有名称。我想我现在快要做到了:
- (IBAction)play:(id)sender {
NSString *aantal = [NSString stringWithFormat: @"%ld", (long)[self.zoepers count]];
NSLog(@"array count: %@", aantal);
for (int i = 0; i < 2; ++i) {
NSLog(@"Naam: %lu", (unsigned long)[self.zoepers indexOfObject:[i]]);
}
}
使用上面的代码,我仍然得到以下错误并且无法编译:
Expected identifier
有人能给我指出正确的方向吗?当你有什么窍门给我的时候,我也想知道。
非常感谢!
如下更改您的代码..
indexOfObject 指的是 id 类型的对象..实际上你传递的是 int 而不是对象..
你可以使用 (.) 来获取一些 属性 对象的值,比如 obj.propertyname..
for (int i = 0; i < 2; ++i)
{
Zoep *zoepObj=[self.zoepers objectAtIndex:i];
NSLog(@"Naam: %@",zoepObj.playename);
}
希望对你有帮助..
NSString
是一个对象,可以使用 %@
而不是 %lu
打印。更新您的代码,您就拥有了自己的名字。
for (int i = 0; i < 2; ++i) {
Zoep *player = (Zoep *)[self.zoepers objectAtIndex:i];
NSLog(@"Naam: %@", player. playername);
}
结论:您正在将 Zoep
class 对象存储到您的 zoepers
数组中,因此在访问 zoepers
时您将首先引用 Zoep
class 对象,然后可以访问该 class.
顺便说一句,indexOfObject:
获取一个对象并将 return 索引(数组中的位置)。