小编sta*_*ugs的帖子

Objective-C KVO不适用于C联合会

我需要在使用KVO的Objective-C类上观察union-typed属性,但似乎我没有运气.我做了一些实验:只要我使用的是C结构,一切正常.一旦用结合替换结构,自动KVO就不再起作用了(observeValueForKeyPath没有被调用).

这是我的小测试类:

AppDelegate.h:

#import <Cocoa/Cocoa.h>

typedef union {
    float data[3];
    struct {
        float x,y,z;
    };
} vec3union;

typedef struct {
    float x,y,z;
} vec3struct;

@interface AppDelegate : NSObject <NSApplicationDelegate>

@property (assign) IBOutlet NSWindow *window;

@property (assign) vec3struct vectorStructValue;

@property (assign) vec3union vectorUnionValue;

@end
Run Code Online (Sandbox Code Playgroud)

AppDelegate.m:

@implementation AppDelegate

@synthesize vectorStructValue = _vectorStructValue;
@synthesize vectorUnionValue = _vectorUnionValue;

- (void)dealloc
{
    [super dealloc];
}

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [self addObserver:self forKeyPath:@"vectorStructValue" options:NSKeyValueObservingOptionNew context:nil];
    [self addObserver:self forKeyPath:@"vectorUnionValue" options:NSKeyValueObservingOptionNew context:nil];

    self.vectorStructValue = (vec3struct){1,2,3};
    self.vectorUnionValue …
Run Code Online (Sandbox Code Playgroud)

objective-c key-value-observing unions

6
推荐指数
1
解决办法
1501
查看次数

将HTML5内容嵌入Facebook墙贴?

我设法在Facebook墙上贴了一个自定义SWF.这可以通过向链接页面的源代码添加特殊元标记来完成.例如,YouTube播放页面的相应来源如下所示:

<meta property="fb:app_id" content="87741124305">
<meta property="og:url" content="http://www.youtube.com/watch?v=qLkk3i4tMQw">
<meta property="og:title" content="Marco Huck vs Hugo Hernan Garay 10. Runde KO">
<meta property="og:description" content="...">
<meta property="og:type" content="video">
<meta property="og:image" content="http://i2.ytimg.com/vi/qLkk3i4tMQw/default.jpg">
<meta property="og:video" content="http://www.youtube.com/v/qLkk3i4tMQw?version=3&amp;autohide=1">
<meta property="og:video:type" content="application/x-shockwave-flash">
<meta property="og:video:width" content="398">
<meta property="og:video:height" content="224">
<meta property="og:site_name" content="YouTube">
Run Code Online (Sandbox Code Playgroud)

但是,这显然只适用于Flash内容.

最近,Facebook增加了对源自YouTube的HTML5视频的支持(用于在iPad上播放视频).了解这是否仅限于YouTube会非常有趣.有谁知道我们其他人是否有可能将HTML(5)代码嵌入到Facebook墙上的帖子中?如果是这样,怎么办呢?

html5 facebook facebook-wall

5
推荐指数
1
解决办法
1万
查看次数