/ / ViewDidLoad Що неправдиво - iphone, uibutton, uilabel, viewdidload

ViewDidLoad Що таке помилка - iphone, uibutton, uilabel, viewdidload

Чи можете ви сказати мені, що в цьому коді неправда? Мені подобається перевіряти, чи встановлено cydia.app під час кожного запуску, і якщо Cydia встановлена, Lable повинен змінюватися, і кнопка повинна бути включена, але нічого не відбувається.

Ось код:

NSString *filePath = @"/Applications/Cydia.app";
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
Lable.text = @"You are jailbroken";
Button.enabled = YES;
}

Відповіді:

3 для відповіді № 1

Якщо потрібно ввімкнути кнопку, потрібно укласти обидва рядки з дужками та видалити крапку з комою після умовного. В основному ваш код повинен виглядати так:

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]]){
Lable.text = @"You are jailbroken";
Button.enabled = YES;
}

В іншому випадку, що ви зараз використовуєте післяумовне твердження, вставляючи крапку з комою, насправді є нульовим твердженням. Навіть якщо ви видалите крапку з комою, буде виконаний лише перший рядок. Для цього вам потрібно вийняти крапку з комою та вставити фігурні дужки, щоб встановити обсяг умовного.

Редагувати:

Можливо, вам доведеться спробувати створити шлях замість жорсткого кодування:

NSString* filePath = [NSSearchPathForDirectoriesInDomains(NSApplicationDirectory, NSUserDomainMask, YES) stringByAppendingPathComponent: @"cydia.app"];

Якщо файл все ще не існує, спробуйте перерахувати файли та каталоги в NSApplicationDirectory щоб побачити, чи файл існує, чи потрібно шукати в іншому місці (можливо, навіть в підпапках).


1 для відповіді № 2

Встановіть деякі точки перерви у своєму коді, щоб колипри налагодженні коду ви можете бачити, на що оцінюється ваше умовне твердження, і залежно від цього, а потім бачите, що відбувається з кодом у вашій структурі if. У багатьох випадках, наприклад, просто встановлення точок перерви та швидкий перехід коду призведе до того, що ви вирішите швидше, ніж розміщувати питання в Інтернеті. може продовжувати працювати.

Підбадьорює