#objective-c
Вопрос:
Я пытался понять код iOS JitsiMeet и заметил, что они инициализировали класс, не делая ничего подобного
[[JitsiMeetView alloc] setPropsInViews:[conferenceOptions asProps]]
Вместо этого они сделали
return [JitsiMeetView setPropsInViews:[conferenceOptions asProps]];
Код: https://github.com/jitsi/jitsi-meet/blob/master/ios/sdk/src/JitsiMeet.m#L117
Там JitsiMeetView импортируется как
#import "JitsiMeetView Private.h"
Где это интерфейс Jetsi Встречается
#импорт "JitsiMeetView.h"
@interface JitsiMeetView ()
(instancetype _Nullable)viewForExternalAPIScope:(NSString *_Nonnull)externalAPIScope;
(BOOL)setPropsInViews:(NSDictionary *_Nonnull)newProps;
@end
Ссылка: https://github.com/jitsi/jitsi-meet/blob/master/ios/sdk/src/JitsiMeetView+Private.h
Кроме того, я ничего не вижу JitsiMeetView Private.m
. Может кто-нибудь, пожалуйста, объяснить мне, как работает вышеприведенная логика? для Джитси?
Комментарии:
1. Почему ты пометил этого свифта?
Ответ №1:
Они не «вошли в класс». Как
указывает, это метод класса. Он вызывается в классе, а не в экземпляре класса.
Ответ №2:
указывает, что это метод класса и работает с самим классом.
Пока
-
указывает, что это метод экземпляра и работает с объектами.
Например,
@interface MyClass ()
-(void)function1;
(void)function2;
@end
функция 1-это метод экземпляра. Чтобы вызвать функцию 1, используйте этот код:
[[[MyClass alloc] init] function1];
функция 2-это метод класса. Чтобы вызвать функцию 2, используйте этот код:
[MyClass function2];