objective-c - iOS:方法和函数

标签 objective-c ios methods

我是 Objective-C 的新手,所以我可能还差得远......

我的“viewDidLoad”方法中有这个:

NSArray *myArray;
NSString *cow = @"Cow";
NSString *pig = @"Pig";
NSString *frog = @"Frog";
NSString *sheep = @"Sheep";
myArray = [NSArray arrayWithObjects: cow, pig, frog, sheep, nil];
randomNumber.text = [myArray objectAtIndex: arc4random() % (4)];    

我想把它变成自己的方法,这样我就可以随时得到一只随机动物……但我需要在程序启动时发生这种情况。我如何访问这样的方法?

我可能错得很离谱,所以我愿意接受建议、更正以及任何您认为有帮助的事情。

像这样:

- (void)generateAnimal{
    NSArray *myArray;
    NSString *cow = @"Cow";
    NSString *pig = @"Pig";
    NSString *frog = @"Frog";
    NSString *sheep = @"Sheep";
    myArray = [NSArray arrayWithObjects: cow, pig, frog, sheep, nil];
    randomNumber.text = [myArray objectAtIndex: arc4random() % (4)];    
}

还有:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self generateAnimal;


}

最佳答案

正如 Sagi 之前提到的,在这种情况下 [self generateAnimal]; 会产生想要的效果。通常,Objective-C(与任何其他面向对象的语言一样)将方法附加到类/实例,因此您只能在现有实例上调用它们。 (明明还有类方法等,但更抽象的说)

Objective-C 希望您将这些方法调用括在方括号 ([ ]) 中,如 Sagi 的回答和您自己的示例 ([super viewDidLoad])。所有调用都遵循此模式 [目标方法:参数]。希望它有意义,只是想为 Sagi 的回答添加一些背景信息。

关于objective-c - iOS:方法和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9056515/

相关文章:

objective-c - 在自定义 slider 中创建更改值的操作

ios - 自定义子类中的变量不会保存/不会从核心数据加载

iphone - iPhone UIImage方法崩溃

ios - UITabBar selectionIndicatorImage 带有 3 个条创建不需要的填充

objective-c - 有什么方法可以监控 Mac 上的新应用程序安装事件吗?

iphone - 像 0xD2691E 这样的十六进制值的数据类型是什么?

ios - 在导航 Controller 中设置后退按钮

c++ - 有智能指针和原始指针的通用方法吗?

c# - 如何使方法在类中调用另一个方法?

objective-c - 我可以将标准 ivar 和属性添加到 NSManagedObject 吗?