Có điều này là đúng cách để kiểm tra optional
có nil
hay bất kỳ giá trị objectForKey
trở về phương pháp AnyObject?
đó làImplicit optional
.
Vì vậy, nếu userDefaults.objectForKey(kUSERID)
có bất kỳ giá trị nào hơn nó được đánh giá true
. nếu userDefaults.objectForKey(kUSERID)
có nil
giá trị hơn giá trị của nó false
.
Từ hướng dẫn lập trình nhanh
Câu
lệnh if và Buộc mở gói Bạn có thể sử dụng câu lệnh if để tìm hiểu xem một tùy chọn có chứa giá trị hay không. Nếu một tùy chọn không có giá trị, nó sẽ đánh giá là true; nếu nó không có giá trị nào, nó sẽ đánh giá là false.
Bây giờ có một lỗi trong trình mô phỏng so với sau khi thiết lập khóa, userDefaults
chúng luôn được đặt cho dù bạn xóa ứng dụng của mình. Bạn cần phải đặt lại trình mô phỏng.
Đặt lại Trình mô phỏng của bạn, hãy kiểm tra phương pháp này trước khi đặt khóa userDefaults
hoặc xóa khóa userDefaults.removeObjectForKey(kUSERID)
khỏi userDefaults
và nó sẽ trở lại NO
. Trên các thiết bị, nó được giải quyết iOS8 beta4
.