Я не совсем уверен, что вы пытаетесь сделать, но я предполагаю, что вы хотите использовать хеш-теги для контроля загрузки страниц, таких как Twitter и Facebook.
Если это так, проверьте этот пост: https://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin
Редактировать:
Вот что было предложено на этом посту:
Лично я бы предложил пойти с jQuery BBQ Бена Алмана, так как он кросс-браузерный и очень простой в использовании. В основном:
$(window).bind('hashchange', function(e) {
// Get the hash (fragment) as a string, with any leading # removed. Note that
// in jQuery 1.4, you should use e.fragment instead of $.param.fragment().
var url = $.param.fragment();
});
Источник: http://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/
Еще один популярный это Sammy.js ( http://code.quirkey.com/sammy/ ), на самом деле это то, что использует Твиттер.
Если вы получаете обратно большое значение, которое выглядит как указатель, возможно, это NaN (а не число)?
Если да, вы можете проверить с помощью:
isnan([[self numberAttribute] doubleValue])
Или, возможно, это какая-то другая константа в духе NSNotFound (хотя, вероятно, более специфичная для Core Data).
Вы можете указать, что атрибут является необязательным, то есть не обязательно иметь значение. В целом, однако, вам не рекомендуется делать это, особенно для числовых значений (обычно вы можете получить лучшие результаты, используя обязательный атрибут со значением по умолчанию - в модели - 0). Причина этого в том, что SQL имеет особое поведение сравнения для NULL, которое отличается от nil в Objective-C. NULL в базе данных не то же самое, что 0, и поиск 0 не будет соответствовать столбцам с NULL.
false == (NULL == 0)
false == (NULL != 0)
Более того, NULL в базе данных не эквивалентен пустой строке или пустому двоичному объекту данных, либо:
false == (NULL == @"")
false == (NULL != @"")
Итак, попробуйте тест с NULL, который не равен нулю. А еще лучше установить значение по умолчанию и изменить атрибут, чтобы он не был необязательным. Вот что я сделал в своих моделях, См. Мой комментарий выше. Я попытался создать новый управляемый объект с неустановленным необязательным атрибутом, и он был равен нулю.
BOOL isNil = ([newManagedObject numberAttribute] == nil); //equals YES
Другое изменение: Я вернулся к этому позже и проверил объект, загруженный из кеша в отладчике (gdb - ваш друг!). Он пытался получить доступ к ячейке памяти 0x0, которая имеет значение NULL.
Если это похоже на указатель, это может быть указатель на экземпляр NSNumber
. Убедитесь, что у вас нет несоответствия между основной моделью данных и классом (например, NSInteger
, где ожидается NSNumber *
).
Если у вас есть скаляр в вашем классе, вы нужно отметить, что вы в setNilValueForKey:
.