Модификация отрицательного числа расплавляет мой мозг

Вместо того, чтобы передавать каждое значение в вашем целевом VC, попробуйте передать только recipe объект. Затем получите значения из этого объекта и заполните свои элементы управления.

1) создать recipe объект в вашем EditViewController

 var editRecipe : Recipe! // Your Model class

2) присвоить значения

let editViewController = self.storyboard?.instantiateViewController(withIdentifier: "EditViewController") as! EditViewController
editViewController. editRecipe = recipeList[indexPath.row]
self.present(editViewController, animated: true, completion: nil)

3) в ViewDidload из EditViewController

if editRecipe != nil {
    //Fill data in lbls
    //lbl_name.text = editRecipe.name
}
174
задан Colonel Panic 7 May 2015 в 14:52
поделиться

3 ответа

Я наблюдал Одну вещь. Это дает только положительные числа в python print 4%3 print 3%3 print 3%3 print 2%3 print 1%3 print 0%3 print -1%3 print -2%3 print -3%3 print -4%3 - это дало мне
1 0 0 2 1 0 2 1 0 2 , Но В C, это дает ответы, данные @gormenghastly

#include<stdio.h>

int main()
{
printf("\n %d",3 % 3);
printf("\n %d",4 % 3);
printf("\n %d",3 % 3);
printf("\n %d",2 % 3);
printf("\n %d",1 % 3); 
printf("\n %d", 0 % 3);
printf("\n %d",-1 % 3);
printf("\n %d",-2 % 3);
printf("\n %d",-3 % 3);
printf("\n %d",-4 % 3);

return 0;
}

, я делал определение % от того, что я видел от вывода Python, Но теперь я также смущен

0
ответ дан 23 November 2019 в 20:30
поделиться

Я всегда использую свою собственную функцию mod , определенную как

int mod(int x, int m) {
    return (x%m + m)%m;
}

. Конечно, если вас беспокоит, что два вызова модуля операции, вы можете записать ее как

int mod(int x, int m) {
    int r = x%m;
    return r<0 ? r+m : r;
}

или ее варианты.

Причина, по которой она работает, состоит в том, что «x% m» всегда находится в диапазоне [-m + 1, m-1]. Таким образом, если оно вообще отрицательное, добавление к нему m переведет его в положительный диапазон без изменения его значения по модулю m.

265
ответ дан 23 November 2019 в 20:30
поделиться

Просто добавьте свой модуль (arrayLength) к отрицательному результату%, и все будет в порядке.

4
ответ дан 23 November 2019 в 20:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: