Предупреждение 1. Я следую руководству по созданию приложения, и мне нужно использовать srandom(time(NULL)). Я посмотрел в Интернете и обнаружил, что arc4random может решить эту проблему, но мне недостаточно информации, чтобы узнать, как это сделать. Предупреждение указывает -
'неявное преобразование теряет целочисленную точность: 'time_t' (он же 'long') в 'unsigned int'
Вот мой код, где я использовал srandom.
- (void) shuffle {
NSMutableArray *validMoves = [[NSMutableArray alloc] init];
srandom(time(NULL)); // warning is here
for( int i=0; i<SHUFFLE_NUMBER; i++){
[validMoves removeAllObjects];
Предупреждение 2
Предупреждение говорит мне: «Значения типа «NSInteger» не должны использоваться в качестве аргументов формата; вместо этого добавьте явное приведение к «long».
Могу ли я узнать, есть ли способ исправить это предупреждение.... или мне определенно нужно сделать %d %ld с "long"?
if ([prefs boolForKey:@"Refresh"] == TRUE) {
countmove = 0;
thetime = 0;
if (timer != nil) {
[timer invalidate];
timer = nil;
}
NSString *Pic = [NSString stringWithFormat:@"image%d.png", [prefs integerForKey:@"PuzzlePicture"]];
[self initPuzzle:Pic];