cuốn sách gpt4 ai đã làm

ios - 我对这个练习的解决方案似乎太简单了;提示?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 20:26:11 26 4
mua khóa gpt4 Nike

Tôi đang tìm hiểu về Big Nerd Ranch Lập trình iOS, Phiên bản thứ 2, Tôi đã đến với Chương 4 Thử thách: Tiêu đề. Bài tập cho thấy tôi đang bối rối; nó nói rằng tôi cần phải làm điều gì đó mà tôi không nghĩ là mình cần phải làm.

Cho đến thời điểm này của chương, cuốn sách đã giới thiệu cho tôi khái niệm về ủy quyền, lấy CoreLocation làm ví dụ. Trong đại biểu ứng dụng, tôi đã thêm biến đối tượng CLLocationManager và đặt đại biểu của nó thành đại biểu ứng dụng. xem bên dưới:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
locationManager = [[CLLocationManager alloc] init];

[locationManager setDelegate:self];

[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager startUpdatingLocation];

[self.window makeKeyAndVisible];
return YES;
}

Tôi cũng đã triển khai hai phương thức ủy nhiệm cho CLLocationManager như sau:

- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSLog(@"%@", newLocation);
}

- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)lỗi
{
NSLog(@"Không tìm thấy vị trí: %@", error);
}

Được rồi, cho đến nay chương này đã hướng dẫn tôi tất cả những điều này và mọi thứ đều hoạt động tốt. Bây giờ là bài tập:

"Sử dụng ủy quyền, truy xuất thông tin tiêu đề từ CLLocationManager và in nó ra bảng điều khiển (Gợi ý: Bạn cần triển khai ít nhất một phương thức ủy quyền và gửi một tin nhắn khác đến người quản lý vị trí.)"

Đây là nơi tôi cảm thấy bối rối. Đầu tiên, sau khi đọc tài liệu CLLocationManager, có vẻ như không có phương pháp ủy nhiệm nào để triển khai ngoài hai phương pháp tôi đã thực hiện. Vì vậy, tôi không biết gợi ý có thể đề cập đến những phương pháp ủy nhiệm nào khác.

Thứ hai, có vẻ như tôi có thể giải quyết vấn đề này một cách đơn giản bằng cách cập nhật cách triển khai locationManager:didUpdateToLocation:fromLocation: như thế này:

- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSLog(@"%@", newLocation);
// Mã được cập nhật bên dưới
Tiêu đề CLLocationDirection = [khóa học Vị trí mới];
NSLog(@"Tiêu đề: %f", tiêu đề);
}

Vì vậy, đối với tôi, có vẻ như tôi thực sự không cần gửi thêm bất kỳ tin nhắn nào đến người quản lý vị trí (mặc dù tôi cần gửi tin nhắn getter đến newLocation; nhưng đó là CLLocation, không phải CLLocationManager).

Vì vậy, rõ ràng là tôi đã hiểu lầm điều gì đó. Tôi không tìm kiếm giải pháp - tôi thực sự muốn giải quyết vấn đề này - nhưng tôi thực sự đánh giá cao gợi ý về điều tôi đã hiểu lầm. Cảm ơn trước!

câu trả lời hay nhất

Tôi nghĩ họ muốn bạn có được hướng la bàn (từ tính).

Xem lại tài liệu CLLocationManager một lần nữa. Có các phương thức -startUpdatingHeading và -stopUpdatingHeading cũng như các phương thức ủy quyền tương ứng để lấy tiêu đề la bàn từ thiết bị.

Hy vọng điều này sẽ giúp.

Về ios - giải pháp của tôi cho bài tập này có vẻ quá đơn giản; , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/6665990/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress