gpt4 book ai didi

ios - NSString 作为参数失败,但文字字符串有效吗?

转载 作者:行者123 更新时间:2023-11-28 22:15:29 25 4
gpt4 key购买 nike

我正在从我的 AWS 服务器中提取一组歌曲名称。

我的下一步是使用其中一首歌曲名称作为请求中的参数来检索其可流式传输 URL。

    //[1] Initialize the S3 Client.
self.s3 = [[AmazonS3Client alloc] initWithAccessKey:@"blah" withSecretKey:@"blah"];
self.s3.endpoint = [AmazonEndpoints s3Endpoint:US_WEST_2];



//[2] Get an array of song names
NSArray *song_array = [self.s3 listObjectsInBucket:@"blahblah"];
NSLog(@"the objects are %@", song_array);


//[3] Get a single song name from the array
NSString *song1 = [[NSString alloc] init];
song1 = (NSString *)[song_array objectAtIndex:1];
NSLog(@"%@", song1);

NSString * song2 = @"Rap God.mp3";
NSLog(@"%@", song2);


//[4] Get the Song URL
S3GetPreSignedURLRequest *gpsur = [[S3GetPreSignedURLRequest alloc] init];
gpsur.key = song2;
gpsur.bucket =@"soundshark";
gpsur.expires = [NSDate dateWithTimeIntervalSinceNow:(NSTimeInterval) 3600];
NSError *error;
NSURL *url = [self.s3 getPreSignedURL:gpsur error:&error];
NSLog(@"the url is %@", url);

Song2 作为参数 gpsur.key 完美工作。

但是,如果我使用 song1 作为参数,它会失败并出现错误

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[S3ObjectSummary stringWithURLEncoding]: unrecognized selector sent to instance 0x175aef30

当我使用 NSLog 时,song1 和 song2 都打印出完全相同的字符串“Rap God.mp3”

为什么会出错?为什么我不能只使用数组中的字符串?它具有完全相同的值?

最佳答案

改变

NSString *song1 = [[NSString alloc] init];
song1 = (NSString *)[song_array objectAtIndex:1];
NSLog(@"%@", song1);

S3ObjectSummary *s3object = [song_array objectAtIndex:1];
NSString *song1 = [s3object description];
NSLog(@"%@", song1);

如果行得通,最好改一下

NSString *song1 = [s3object description];

NSString *song1 = [s3object etag];

NSString *song1 = [s3object key];

我不熟悉 S3ObjectSummary,所以我无法建议哪种变体更好。

关于ios - NSString 作为参数失败,但文字字符串有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21837784/

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