سؤال

أنا جديد نسبيًا في Objective-C ولا أعرف الكثير عنه حتى الآن ، لذلك أعتذر عن ما هو على الأرجح سؤالًا هواة حقًا.

أحاول الحصول على العنوان المغناطيسي من Clinging و CllocationDirection. ومع ذلك ، أحصل على أخطاء تجميع لهذا السطر من الكود:

locationLabel.text = [[[location course] magneticHeading] stringValue];

الأخطاء هي:

warning: invalid receiver type 'CLLocationDirection'  
error: cannot convert to a pointer type

أنا لا أفهم حقًا ما أفعله خطأ هنا. الرجاء المساعدة!

هل كانت مفيدة؟

المحلول

فيما يلي الخطوات اللازمة لاستخدام البوصلة.

1) تحقق من توفر: إذا كان headingAvailable خاصية مدير الموقع هي نعم ، ثم يمكنك استخدام البوصلة.

2) استخدم طريقة مدير الموقع -(void) startUpdatingHeading للبدء في تلقي المعلومات التي تبحث عنها

3) استرجاع هذه المعلومات في الواقع باستخدام طريقة المندوب (لا تنسى أن تضع نفسك كمندوب)

 - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading

أتمنى أن يساعدك هذا.

نصائح أخرى

Magneticheading هو من نوع CllocationDirection ، وهو ببساطة typedef لنوع البيانات البدائية "مزدوج". في مثالك ، تحاول إرسال رسالة إلى شيء ليس كائنًا! يجب عليك ببساطة تنسيق المزدوج مثل ذلك:

locationLabel.text = [NSString stringWithFormat:@"Heading %.3f", [[location course] magneticHeading]];

كيف يتم تخصيص وتهيئة location؟ تأكد location يتم تعريفه على أنه أ (CLLocationDirection *) وليس مجرد أ (CLLocationDirection).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top