整数,每隔 X 数调用一次函数
Integers, call function every X number
我有一个具有游戏风格元素的应用程序,即使它不是游戏,我有游戏中心,并且希望在每次 100 'Chatters' 加入他们的 Group/Forum。一旦他们达到某些里程碑(1k subscribed/joined 聊天等),我将免费为用户提供应用内 DLC
所以我尝试使用 Parse.com 通知用户每 X 次订阅,但很难每 100 次重复一次。我能够以这种方式使它工作,但是手动添加它们有点烦人。是否有内置的 API 方法可以使这更容易?
PFQuery *query = [PFQuery queryWithClassName:@"Groups"];
[query getObjectInBackgroundWithId:@"------vNDd" block:^(PFObject *object, NSError *error) {
[object incrementKey:@"Group_Chatters" byAmount:[NSNumber numberWithInt:1]];
[object saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
NSNumber *objectNumber = [object valueForKey:@"Group_Chatters"];
int subscribers = [objectNumber intValue];
if ([self subscribersIsNewMilestone:subscribers]) {
//Send Notification
}
} else {
}
}];
}];
-(BOOL)subscribersIsNewMilestone:(int)subscribers {
int i = subscribers + 1; //This will include the new subscription that just happened
if ((i == 100) || (i == 200) || (i == 300) || (i == 400) || (i == 500) || etc etc etc ) {
return YES;
} else {
return NO;
}
}
使用取模运算符(%
)
即在你的情况下:
if (i % 100 == 0) {
...
每当 i 被 100 整除时,此 if 语句将为真。注意:0 % 100 也是 0,但在您的情况下,这不应该成为问题,因为您总是加 1。
取模运算符 %
returns 左操作数除以右操作数的余数。它几乎存在于所有现代编程语言中。更多内容 here
例如
int x = 10
x % 2 // 0 because 10 / 2 = 5, remainder 0
x % 3 // 1 because 10 / 3 = 3, remainder 1
x % 0 // division by zero error, because 10 / 0 is undefined
我有一个具有游戏风格元素的应用程序,即使它不是游戏,我有游戏中心,并且希望在每次 100 'Chatters' 加入他们的 Group/Forum。一旦他们达到某些里程碑(1k subscribed/joined 聊天等),我将免费为用户提供应用内 DLC
所以我尝试使用 Parse.com 通知用户每 X 次订阅,但很难每 100 次重复一次。我能够以这种方式使它工作,但是手动添加它们有点烦人。是否有内置的 API 方法可以使这更容易?
PFQuery *query = [PFQuery queryWithClassName:@"Groups"];
[query getObjectInBackgroundWithId:@"------vNDd" block:^(PFObject *object, NSError *error) {
[object incrementKey:@"Group_Chatters" byAmount:[NSNumber numberWithInt:1]];
[object saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
NSNumber *objectNumber = [object valueForKey:@"Group_Chatters"];
int subscribers = [objectNumber intValue];
if ([self subscribersIsNewMilestone:subscribers]) {
//Send Notification
}
} else {
}
}];
}];
-(BOOL)subscribersIsNewMilestone:(int)subscribers {
int i = subscribers + 1; //This will include the new subscription that just happened
if ((i == 100) || (i == 200) || (i == 300) || (i == 400) || (i == 500) || etc etc etc ) {
return YES;
} else {
return NO;
}
}
使用取模运算符(%
)
即在你的情况下:
if (i % 100 == 0) {
...
每当 i 被 100 整除时,此 if 语句将为真。注意:0 % 100 也是 0,但在您的情况下,这不应该成为问题,因为您总是加 1。
取模运算符 %
returns 左操作数除以右操作数的余数。它几乎存在于所有现代编程语言中。更多内容 here
例如
int x = 10
x % 2 // 0 because 10 / 2 = 5, remainder 0
x % 3 // 1 because 10 / 3 = 3, remainder 1
x % 0 // division by zero error, because 10 / 0 is undefined