回答

1

为了删除标签,您只需使用一组标签更新注册,不包含包含它。例如。

SBRegistration* toUpdate = [hub retrieveNativeRegistrationWithError: nil]; 
[[toUpdate tags] addObjectsFromArray: @[@"myNewTag1", @"myOtherNewTag"]]; 
[hub updateRegistration:toUpdate]; 

或者异步:

[hub retrieveNativeRegistrationWithCompletion:^(SBRegistration* r, NSError* e) { 
    if (r == nil) ; // error handling 
    [[r tags] addObjectsFromArray:@[@"myNewTag", @"myOtherNewTag"]]; 
    [hub updateRegistration:r completion:^(SBRegistration* r2, NSError* e) { 
     // error mgmt; 
    }]; 
}]; 

另外请注意,当你调用createNativeRegistration您将覆盖当前设置的标签。该命名不一致在iOS SDK的下一个版本中得到解决。

此时你不能通过标签检索计数,但是(从后端)你可以检索带有标签的所有注册(一种低效的计数方式)。 您可以从后端.NET SDK做到这一点,使用:

var skip = 0; 
var increment = 100; 
IEnumerable<RegistrationDescription> regs = hubClient.GetRegistrationsByTag("myTag", skip, increment); 
while (regs.Count() != 0) 
{ 
    foreach (var i in regs) 
    { 
     // do work 
    } 
    skip += increment + 1; 
    regs = hubClient.GetRegistrationsByTag("myTag", skip, increment); 
} 

或者使用我们的REST面:GetRegistrationsByTag

感谢,

埃利奥

+0

感谢埃利奥 比方说,我们有10个俱乐部,我作为ios用户想要注册4个俱乐部 所以我去跟着例如soocer,篮球,网球, 乒乓球 我想注册的每个俱乐部都必须使用标记 调用本机注册因此,您提到的用于覆盖的部分是?一旦我为篮球注册 它不是借调注册和更新足球到 篮球? 而且也在用户的情况下会停止关注这个俱乐部的一次,我更新 到@“newtag1” 这将更新所有,而不仅仅是取消关注该俱乐部 是不是?和任何解决方案? –

+0

只有当你知道所有你想要关注的俱乐部时,你才应该更新注册。指导原则是存储用户想要跟随的俱乐部(例如在本地存储中),然后当您想添加/移除标签时,更新本地存储中的主列表,然后通过设置标签来更新注册财产到您的标签集 –

+0

谢谢埃利奥, 我认为这是可能的,可以解决我们的问题,我们将长期使用这个很酷的服务,所以请更新以帮助我们更多 ,也我们正在等待android和windows电话支持以及 再次感谢你,并有美好的一天;-) –