我正试图获得QTMovie的高度和宽度,但无法正确使用。
这是代码(使用ARC):
// get the movie's dimensions
NSSize *sourceSize = (__bridge NSSize *)([[movie movieAttributes] valueForKey:@"QTMovieNaturalSizeAttribute"]);
NSLog(@"%@", sourceSize);
// the output seems OK:
// NSSize: {1920, 1040}
NSLog(@"%f x %f", sourceSize->width, sourceSize->height);
// here's the output:
// 0.000000 x 0.000000
我在这里做错了什么?
答案 0 :(得分:0)
感谢H2CO3的评论,我得到了这个。这是我出错的地方:
[movie movieAttributes]
返回一个NSDictionary,而valueForKey
是KVC,它不返回非对象值,而是返回wraps them。
因此NSSize sourceSize = [[[movie movieAttributes] valueForKey:@"QTMovieNaturalSizeAttribute"] sizeValue]
是检索NSSize
结构的正确方法。
另外 - 正如H2CO3的评论所暗示的那样 - 这是一个愚蠢的错误。入门很难: - )