Các khóa học lập trình iOS Objective-C, lập trình iOS Swift và lập trình iOS Swift kết nối Web Service có sẵn toàn bộ mã nguồn, hướng dẫn chi tiết từng bước và được trình bày rất dễ hiểu.
Khi lập trình Objective-C, chúng ta đôi khi phải gọi hàm thông qua @selector. Tại lúc chạy (runtime), iOS sẽ tìm hàm có dạng (pattern) phù hợp với yêu cầu của @selector rồi thực thi bằng lệnh [object performSelector:@selector(method_pattern)];
Tuy nhiên, lúc biên dịch XCode sẽ cảnh báo lệnh performSelector có thể gây thất thoát bộ nhớ. Nguyên văn của cảnh báo là “PerformSelector may cause a leak because its selector is unknown”. Để tạm thời tắt cảnh báo tại đúng đoạn lệnh này ta bổ xung chỉ dẫn biên dịch như sau
SEL sel = @selector(notesEndEdit);
if ([_assessVCDelegate respondsToSelector:sel]) {
//#pragma clang diagnostic push
//#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[_assessVCDelegate performSelector:sel];
//#pragma clang diagnostic pop
}
Lưu ý trước khi gọi performSelector cần kiểm tra đối tượng có đáp trả không bằng lệnh kiểm tra if([object responseSelector:@selector(method_pattern)])
Khóa học lập trình di động tại Techmaster:
Để cài đặt MacOSX lên phần cứng không phải Apple liên hệ chuyên gia cài Hackintosh:
- Nguyễn Minh Sơn: 01287065634
- Huỳnh Minh Sơn: 0936225565
- Website: caidatmacos.com
Bình luận