0

我看到那些是相似的

SOCIAL_EXTERN NSString *const SLServiceTypeTwitter NS_AVAILABLE(10_8, 6_0);
SOCIAL_EXTERN NSString *const SLServiceTypeFacebook NS_AVAILABLE(10_8, 6_0);
SOCIAL_EXTERN NSString *const SLServiceTypeSinaWeibo NS_AVAILABLE(10_8, 6_0);
SOCIAL_EXTERN NSString *const SLServiceTypeTencentWeibo NS_AVAILABLE(10_9, 7_0);
SOCIAL_EXTERN NSString *const SLServiceTypeLinkedIn NS_AVAILABLE(10_9, NA);

ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierTwitter NS_AVAILABLE(NA, 5_0);
ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierFacebook NS_AVAILABLE(NA, 6_0);
ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierSinaWeibo NS_AVAILABLE(NA, 6_0);
ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierTencentWeibo NS_AVAILABLE(NA, 7_0);
ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierLinkedIn NS_AVAILABLE(NA, NA);

为什么要跟踪两者?为什么有两组不同的常数?是否有可以将一个转换为另一个的功能,或者我应该自己制作它们?

4

2 回答 2

2

在不了解您正在尝试做什么的更多细节的情况下,需要在两组常量之间进行转换会让我觉得这是一种错误的做法。

Social.framework 和 Accounts.framework 是用于不同目的的独立框架——您可以使用一个而没有另一个。

于 2013-08-23T05:27:12.397 回答
0

我最终制作了这些功能:

-(NSString *) strAccountTypeIdentifier
{
    if (self.bglm==BGLoginModeTwitter)
    {
        return ACAccountTypeIdentifierTwitter;
    }
    else if(self.bglm==BGLoginModeFacebook)
    {
        return ACAccountTypeIdentifierFacebook;
    }
    else
    {
        return nil;
    }
}
-(NSString *) strSLServiceType
{
    if (self.bglm==BGLoginModeTwitter)
    {
        return SLServiceTypeTwitter;
    }
    else if(self.bglm==BGLoginModeFacebook)
    {
        return SLServiceTypeFacebook;
    }
    else
    {
        return nil;
    }
}

-(ACAccountType *) ACAccounts
{
    NSAssert(self.ACAstore, @"ACAStore must not be empty by this time");
    return [self.ACAstore accountTypeWithAccountTypeIdentifier:self.strAccountTypeIdentifier];
}

-(NSString *) strAccountName{
    if (self.bglm==BGLoginModeTwitter)
    {
        return @"Twitter";
    }
    else if(self.bglm==BGLoginModeFacebook)
    {
        return @"Facebook";
    }
    else
    {
        return nil;
    }
}

现在,我只需要一个 BGLoginMode 类型的枚举,就是这样。我可以通过调用这些函数轻松获得其余部分。

于 2013-08-23T10:40:08.143 回答