我在执行任务1b时遇到了stanford iphone课程第4部分的问题。
我无法理解如何构建数组以及如何构建数组 任务期望。
阵列应该是“全局”变量吗?我应该在哪里定义? 每个其他子函数是否会将其变量添加到数组中? PrintIntrospectionInfo函数是否可用于枚举 并打印所有内省信息?
在哪里可以阅读他们要求的内容 分配?我该怎么读?
我不上课,所以有人可以寄给我他们的代码吗?该 课程相互积累,我希望能够继续学习。
这是作业:
Objective-C有许多功能可以增加其动态的面向对象功能。许多 这些工具涉及在运行时确定和使用对象的功能。 创建一个可变数组并向其中添加各种类型的对象。创建类的实例 我们已经在这个赋值中的其他地方用来填充数组:NSString,NSURL,NSProcessInfo, NSDictionary等创建一些NSMutableString实例并将它们放在数组中 随意创建其他类型的对象 遍历数组中的对象并执行以下操作: 1.打印对象的类名。 2.记录对象是否为NSString类的成员。 3.记录对象是否类NSString。 4.记录对象是否响应选择器“lowercaseString”。 第5页,共6页 5.如果对象确实响应了lowercaseString选择器,则记录询问的结果 对象执行该选择器(使用performSelector :) CS193P作业1B 2009年春季Doll / Cannistraro
答案 0 :(得分:2)
您可以在Xcode随附的cocoa和objective-c手册中找到答案。
#import <Foundation/Foundation.h>
void printIntrospectionInfo()
{
NSMutableArray * array = [NSMutableArray arrayWithCapacity:5];
[array addObject: [NSString stringWithString:@"Example NSString object"]];
[array addObject: [NSMutableString stringWithString:@"Example NSMutableString object"]];
[array addObject: [NSURL URLWithString:@"http://apple.com.au"]];
[array addObject: [NSProcessInfo processInfo]];
[array addObject: [NSDictionary dictionaryWithObject: @"DictObject" forKey: @"KeyObject"]];
[array addObject: [NSNumber numberWithInt:123456]];
SEL sel_lowercase = @selector(lowercaseString);
int i;
for (i = 0; i < [array count]; ++i)
{
id o = [array objectAtIndex:i];
NSLog(@"%@", o);
NSLog(@"Class name: %@", [[o class] className]);
NSLog(@"Is Member of NSString: %@", ([o isMemberOfClass: [NSString class]] ? @"YES" : @"NO"));
NSLog(@"Is Kind of NSString: %@", ([o isKindOfClass: [NSString class]] ? @"YES" : @"NO"));
NSLog(@"Responds to lowercaseString: %@", ([o respondsToSelector: sel_lowercase] ? @"YES" : @"NO"));
if ([o respondsToSelector: sel_lowercase])
NSLog(@"lowercaseString: %@", [o performSelector: sel_lowercase]);
NSLog(@"===================");
}
}
int main(int argc, const char* argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
printIntrospectionInfo();
[pool release];
return 0;
}
答案 1 :(得分:1)
第一个任务不是关于设计,而是关于Objective-C的感觉。全局变量很好,但局部变量会容易得多。
答案 2 :(得分:1)
在哪里可以阅读他们在此作业中要求的内容?我该怎么读?
除了本地与全球问题(本地人更好)之外,请阅读NSObject文档。所有这四个问题都与NSObjects实现的方法有关。
不要忘记阅读Objective-C。