gpt4 book ai didi

ios - 如何通过键号访问 NSDictionary?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:23 27 4
gpt4 key购买 nike

我是 iPhone 开发的初学者,我需要一些帮助。

我创建了一个 NSDictionary 来保存一些引号和键(这是引用它们的人)。

现在,我已经创建了一个方法来提取随机报价,并使用这个方法 'arc4random_uniform' 我需要使用整数......我做'return [self.insperationalQuotes objectForKey:”这里我想要一个随机数"];

通常使用数组可能会更容易,但我想使用键将它附加到引用它的人的特定照片......或者你仍然建议使用数组并在#上说对象1 将爱因斯坦举例...

这是我的代码:

#import "NOQuotes.h"

@implementation NOQuotes


- (NSDictionary *) insparationalQuotes {

if (_insparationalQuotes == nil) {


_insparationalQuotes = [[NSDictionary alloc] initWithObjectsAndKeys:
@"Try not to become a man of success but a man of value.",
@"ALBERT EINSTEIN",
@"What lies behind us and what lies before us are tiny matters compared to what lies within us.",
@"HENRY STANLEY HASKINS",
@"It is never too late to be what you might have been.",
@"GEORGE ELIOT",
@"All our dreams can come true–if we have the courage to pursue them.",
@"WALT DISNEY",
@"The best way to predict the future is to invent it.",
@"ALAN KAY",
@"You miss 100% of the shots you don’t take.",
@"WAYNE GRETZKY",
@"If opportunity doesn’t knock, build a door.",
@"MILTON BERLE",
@"Failure is the condiment that gives success its flavor.",
@"TRUMAN CAPOTE", nil];

}

return _insparationalQuotes;
}



- (NSString *) getRandomQuote {



int randomNum = arc4random_uniform(self.insparationalQuotes.count);

return [self.insparationalQuotes objectForKey:randomNum]; //error

}

谢谢!

最佳答案

对于您要尝试做的事情,我建议创建一个 Quote 类,它将存储引述、“作者”以及与该人关联的图像。然后,我会用这些 Quote 对象的实例填充一个 NSArrayNSMutableArray,这样您就可以随机选择一个索引。

@interface Quote : NSObject

@property NSString *quote;
@property NSString *author;
@property UIImage *picture;

+(instancetype)quoteWithQuote:(NSString*)quote
author:(NSString*)author
picture:(UIImage*)picture;

-(instancetype)initWithQuote:(NSString*)quote
author:(NSString*)author
picture:(UIImage*)picture;

@end

然后填那个类就行了。可以说,您甚至可能希望 @propertyreadonly,从而使 Quote 类不可变。


或者,您可以保持 NSDictionary 不变,并将其与由所有作者姓名(您用作键)组成的 NSArray 配对。然后从名称数组中选择一个随机索引,并使用该名称作为引用字典中的键。这里的问题是它有点多余,您不能多次引用同一作者。

关于ios - 如何通过键号访问 NSDictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20448645/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com