我需要获取一个 scanf 结果并将其转换为 NSString,然后将 NSString 转换为豌豆类实例 pea1 的属性。如果我可以对 scanf 进行某种限制,这样用户就不会在其中输入太多字符并停止程序,那也很好,但这并不是绝对必要的。
我花了我所有的空闲时间(六个小时)试图通过互联网找到这个,但它不起作用。将 scanf 转换为 NSString 或将 NSString 转换为类实例的属性有很多结果,但我找不到两者并且将它们组合起来不起作用。
我需要这个,以便用户可以通过 scanf 命名豌豆,然后显示该豌豆的名称。
这是我的代码,所有不影响此问题的内容都已删除:
#import <Foundation/Foundation.h>
@interface Pea: NSObject
@property (retain) NSString *name;
@end
@implementation Pea
@synthesize name;
@end
int main (int agrc, char * argv[])
{
@autoreleasepool {
Pea *pea1 = [[Pea alloc] init];
char word;
//Asks for name of Pea
NSLog(@"What would you like to name this pea?");
scanf("%s", &word);
NSString* userInput = [[NSString alloc] initWithUTF8String: &word];
[pea1 setName: userInput];
//NSLogs data
NSLog (@"Your pea plant, %@\n.", [pea1 name]);
}
return 0;
}
非常感谢您提供的任何帮助!:D