کلاس GCKUIMediaController

مرجع کلاس GCKUIMediaController

بررسی اجمالی

کنترل‌کننده‌ای برای نماهای رابط کاربری که برای کنترل یا نمایش وضعیت پخش رسانه در گیرنده Cast استفاده می‌شود.

برنامه فراخوانی، کنترل‌های رابط کاربری مربوط به رسانه را با تنظیم ویژگی‌های مناسب، با کنترل‌کننده ثبت می‌کند. سپس کنترلر با صدور دستورات رسانه ای مناسب به گیرنده به رویدادهای لمسی روی کنترل ها پاسخ می دهد و کنترل ها را بر اساس اطلاعات وضعیت و فراداده رسانه دریافتی از گیرنده به روز می کند. کنترل‌کننده به‌طور خودکار کنترل‌های UI را متناسب با وضعیت جلسه فعلی و پخش‌کننده رسانه فعال و غیرفعال می‌کند. علاوه بر این، در حالی که درخواست در حال انجام است، تمام کنترل ها را غیرفعال می کند.

برای پروتکل نمایندگی به GCKUIMediaControllerDelegate مراجعه کنید.

از آنجا که
3.0

NSObject را به ارث می برد.

خلاصه روش نمونه

(instancetype) - init
یک نمونه را مقدار دهی اولیه می کند. بیشتر...
(void) - bindLabel:toMetadataKey:
یک UILabel را به یک کلید فراداده متصل می کند. بیشتر...
(void) - bindLabel:toMetadataKey:withFormatter:
یک UILabel را به یک کلید فراداده متصل می کند. بیشتر...
(void) - bindTextView:toMetadataKey:
یک UITextView را به یک کلید ابرداده متصل می کند. بیشتر...
(void) - bindTextView:toMetadataKey:withFormatter:
یک UITextView را به یک کلید ابرداده متصل می کند. بیشتر...
(void) - bindImageView:toImageHints:
یک UIImageView را به یک نمونه GCKUIImageHints متصل می کند. بیشتر...
(void) - bindControlView:toRewindForTime:
یک UIControl متصل می کند تا پخش مورد فعلی را با مقدار ارسال شده به عنوان ثانیه به عقب برگرداند. بیشتر...
(void) - bindControlView:toForwardForTime:
یک UIControl متصل می کند تا پخش مورد فعلی را با مقدار ارسال شده به عنوان ثانیه به جلو ببرد. بیشتر...
(void) - unbindView:
نمای مشخص شده را باز می کند. بیشتر...
(void) - unbindAllViews
همه نماهای محدود را باز می کند. بیشتر...
( GCKMediaRepeatMode- cycleRepeatMode
حالت تکرار برای صف را به حالت بعدی در چرخه تغییر می دهد: بیشتر...
(void) - selectTracks
یک روش راحت برای نمایش رابط کاربری انتخاب آهنگ رسانه. بیشتر...
(void) - skipAd
درخواست پرش آگهی را ارسال و نظارت می کند. بیشتر...

خلاصه اموال

id< GCKUIMediaControllerDelegate delegate
نماینده دریافت اعلان از GCKUIMediaController . بیشتر...
GCKSession session
جلسه ای که با این کنترلر مرتبط است. بیشتر...
BOOL  mediaLoaded
اینکه آیا در حال حاضر رسانه بارگیری شده (یا در حال بارگیری) روی گیرنده وجود دارد. بیشتر...
BOOL  hasCurrentQueueItem
آیا یک مورد فعلی در صف وجود دارد یا خیر. بیشتر...
BOOL  hasLoadingQueueItem
اینکه آیا موردی در صف از قبل بارگذاری شده است یا خیر. بیشتر...
GCKMediaPlayerState  lastKnownPlayerState
آخرین وضعیت پخش کننده رسانه شناخته شده. بیشتر...
NSTimeInterval  lastKnownStreamPosition
آخرین موقعیت شناخته شده جریان رسانه ای. بیشتر...
UIButton *  playButton
یک دکمه "بازی". بیشتر...
UIButton *  pauseButton
یک دکمه "مکث". بیشتر...
GCKUIMultistateButton playPauseToggleButton
دکمه جابجایی "پخش/مکث". بیشتر...
GCKUIPlayPauseToggleController playPauseToggleController
یک کنترلر ضامن "پخش/مکث". بیشتر...
UIButton *  stopButton
یک دکمه "توقف". بیشتر...
UIButton *  forward30SecondsButton
دکمه ای برای جستجوی 30 ثانیه به جلو در مورد رسانه در حال پخش. بیشتر...
UIButton *  rewind30SecondsButton
دکمه ای برای جستجوی 30 ثانیه در مورد رسانه در حال پخش. بیشتر...
UIButton *  pauseQueueButton
دکمه ای برای توقف پخش صف پس از اتمام پخش آیتم فعلی. بیشتر...
UIButton *  nextButton
یک دکمه "بعدی". بیشتر...
UIButton *  previousButton
یک دکمه "قبلی". بیشتر...
GCKUIMultistateButton repeatModeButton
دکمه ای برای چرخش در حالت های تکرار صف موجود. بیشتر...
UISlider *  streamPositionSlider
یک نوار لغزنده برای نمایش و تغییر موقعیت جریان فعلی. بیشتر...
UIProgressView *  streamProgressView
نمایی برای نمایش پیشرفت جریان فعلی. بیشتر...
UILabel *  streamPositionLabel
برچسبی برای نمایش موقعیت جاری جریان، در دقیقه و ثانیه. بیشتر...
UILabel *  streamDurationLabel
برچسبی برای نمایش مدت زمان جاری جریان، بر حسب دقیقه و ثانیه. بیشتر...
UILabel *  streamTimeRemainingLabel
برچسبی برای نمایش زمان پخش باقی مانده (مدت منهای موقعیت)، بر حسب دقیقه و ثانیه. بیشتر...
GCKUIStreamPositionController streamPositionController
یک کنترل کننده موقعیت جریان. بیشتر...
GCKUIPlaybackRateController playbackRateController
یک کنترلر نرخ پخش جریانی. بیشتر...
BOOL  displayTimeRemainingAsNegativeValue
آیا زمان پخش باقیمانده به عنوان یک مقدار منفی نمایش داده می شود، به عنوان مثال، "-1:23:45". بیشتر...
BOOL  hideStreamPositionControlsForLiveContent
اینکه آیا کنترل‌های موقعیت پخش جریانی (شامل لغزنده موقعیت پخش، برچسب موقعیت جریان، برچسب مدت زمان پخش جریانی، و نمای پیشرفت جریان) باید برای محتوای زنده پنهان شوند. بیشتر...
UIButton *  tracksButton
دکمه ای برای انتخاب آهنگ های صوتی و/یا زیرنویس ها یا زیرنویس ها. بیشتر...
UILabel *  smartSubtitleLabel
برچسبی برای نمایش زیرنویس برای رسانه بارگذاری شده فعلی. بیشتر...
UIActivityIndicatorView *  mediaLoadingIndicator
نمای نشانگر فعالیت برای نشان دادن اینکه رسانه در حالت بارگذاری قرار دارد. بیشتر...
UILabel *  skipAdLabel
برچسبی برای نمایش مدت زمان باقی مانده تا رد شدن از آگهی. بیشتر...
UIButton *  skipAdButton
دکمه ای برای رد شدن از تبلیغ فعلی. بیشتر...

جزئیات روش

- (instancetype) init

یک نمونه را مقدار دهی اولیه می کند.

- (void) bindLabel: (UILabel *)  label
toMetadataKey: (NSString *)  key  

یک UILabel را به یک کلید فراداده متصل می کند.

نما مقدار فعلی فیلد فوق داده مربوطه را نمایش می دهد.

برای فهرستی از کلیدهای ابرداده از پیش تعریف شده به GCKMediaMetadata مراجعه کنید.

Parameters
labelThe UILabel that will display the value.
keyThe metadata key.
- (void) bindLabel: (UILabel *)  label
toMetadataKey: (NSString *)  key
withFormatter: ( GCKUIValueFormatter formatter  

یک UILabel را به یک کلید فراداده متصل می کند.

نما مقدار فعلی فیلد فوق داده مربوطه را نمایش می دهد.

برای فهرستی از کلیدهای ابرداده از پیش تعریف شده به GCKMediaMetadata مراجعه کنید.

Parameters
labelThe UILabel that will display the value.
keyThe metadata key.
formatterA block that will produce the desired string representation of the value.
- (void) bindTextView: (UITextView *)  textView
toMetadataKey: (NSString *)  key  

یک UITextView را به یک کلید ابرداده متصل می کند.

نما مقدار فعلی فیلد فوق داده مربوطه را نمایش می دهد.

برای فهرستی از کلیدهای ابرداده از پیش تعریف شده به GCKMediaMetadata مراجعه کنید.

Parameters
textViewThe UITextView that will display the value.
keyThe metadata key.
- (void) bindTextView: (UITextView *)  textView
toMetadataKey: (NSString *)  key
withFormatter: ( GCKUIValueFormatter formatter  

یک UITextView را به یک کلید ابرداده متصل می کند.

نما مقدار فعلی فیلد فوق داده مربوطه را نمایش می دهد.

برای فهرستی از کلیدهای ابرداده از پیش تعریف شده به GCKMediaMetadata مراجعه کنید.

Parameters
textViewThe UITextView that will display the value.
keyThe metadata key.
formatterA block that will produce the desired string representation of the value.
- (void) bindImageView: (UIImageView *)  imageView
toImageHints: ( GCKUIImageHints *)  imageHints  

یک UIImageView را به یک نمونه GCKUIImageHints متصل می کند.

GCKUIImagePicker نصب شده در حال حاضر برای انتخاب یک تصویر از ابرداده برای نما استفاده خواهد شد.

Parameters
imageViewThe UIImageView that will display the selected image.
imageHintsThe image hints.
- (void) bindControlView: (UIControl *)  control
toRewindForTime: (NSTimeInterval)  rewindSeconds  

یک UIControl متصل می کند تا پخش مورد فعلی را با مقدار ارسال شده به عنوان ثانیه به عقب برگرداند.

این نما بر اساس وضعیت GCKCastSession ، وضعیت پخش از راه دور و پخش زنده بودن آن به روز می شود. یک هدف نیز به UIControl اضافه شده است تا رویداد UIControlEventTouchUpInside را ثبت کند. هدف از این نوع را در UIControl اضافه نکنید. برای ثبت رویداد از روش‌های GCKUIMediaControllerDelegate استفاده کنید.

Parameters
controlThe UI element that the user interacts with. Typically this would be an instance of UIButton .
rewindSecondsThe number of seconds to rewind the media.
- (void) bindControlView: (UIControl *)  control
toForwardForTime: (NSTimeInterval)  forwardSeconds  

یک UIControl متصل می کند تا پخش مورد فعلی را با مقدار ارسال شده به عنوان ثانیه به جلو ببرد.

این نما بر اساس وضعیت GCKCastSession ، وضعیت پخش از راه دور و پخش زنده بودن آن به روز می شود. یک هدف نیز به UIControl اضافه شده است تا رویداد UIControlEventTouchUpInside را ثبت کند. هدف از این نوع را در UIControl اضافه نکنید. برای ثبت رویداد از روش‌های GCKUIMediaControllerDelegate استفاده کنید.

Parameters
controlThe UI element that the user interacts with. Typically this would be an instance of UIButton .
forwardSecondsThe number of seconds to skip the media.
- (void) unbindView: (UIView *)  view

نمای مشخص شده را باز می کند.

Parameters
viewThe view to unbind.
- (void) unbindAllViews

همه نماهای محدود را باز می کند.

- ( GCKMediaRepeatMode ) cycleRepeatMode

حالت تکرار برای صف را به حالت بعدی در چرخه تغییر می دهد:

GCKMediaRepeatModeOffGCKMediaRepeatModeAllGCKMediaRepeatModeSingleGCKMediaRepeatModeAllAndShuffle

برمی گرداند
حالت تکرار جدید.
- (void) selectTracks

یک روش راحت برای نمایش رابط کاربری انتخاب آهنگ رسانه.

- (void) skipAd

درخواست پرش آگهی را ارسال و نظارت می کند.

از آنجا که
4.3

جزئیات ملک

- (id< GCKUIMediaControllerDelegate >) delegate
read write nonatomic weak

نماینده دریافت اعلان از GCKUIMediaController .

- ( GCKSession *) session
read nonatomic strong

جلسه ای که با این کنترلر مرتبط است.

- (BOOL) mediaLoaded
read nonatomic assign

اینکه آیا در حال حاضر رسانه بارگیری شده (یا در حال بارگیری) روی گیرنده وجود دارد.

اگر هیچ جلسه Cast فعال نباشد، NO خواهد بود.

- (BOOL) hasCurrentQueueItem
read nonatomic assign

آیا یک مورد فعلی در صف وجود دارد یا خیر.

- (BOOL) hasLoadingQueueItem
read nonatomic assign

اینکه آیا موردی در صف از قبل بارگذاری شده است یا خیر.

- (GCKMediaPlayerState) lastKnownPlayerState
read nonatomic assign

آخرین وضعیت پخش کننده رسانه شناخته شده.

اگر هیچ جلسه Cast فعال نباشد، این وضعیت پخش کننده درست قبل از پایان آخرین جلسه خواهد بود. اگر جلسه قبلی وجود نداشته باشد، GCKMediaPlayerStateUnknown خواهد بود.

- (NSTimeInterval) lastKnownStreamPosition
read nonatomic assign

آخرین موقعیت شناخته شده جریان رسانه ای.

اگر هیچ جلسه Cast فعال نباشد، این موقعیت پخش جریانی رسانه درست قبل از پایان آخرین جلسه خواهد بود. اگر جلسه قبلی وجود نداشته باشد، این kGCKInvalidTimeInterval خواهد بود.

- (UIButton*) playButton
read write nonatomic weak

یک دکمه "بازی".

با ضربه زدن روی دکمه، پخش رسانه بارگیری شده در حال حاضر در گیرنده شروع یا از سر گرفته می شود. اگر پخش از قبل در حال انجام باشد، یا اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می‌شود.

- (UIButton*) pauseButton
read write nonatomic weak

یک دکمه "مکث".

با ضربه زدن روی دکمه، پخش رسانه بارگیری شده در حال حاضر در گیرنده متوقف می شود. اگر رسانه بارگیری شده فعلی از مکث پشتیبانی نکند، یا اگر پخش در حال حاضر در حال انجام نباشد، یا اگر رسانه ای در حال حاضر بارگیری نشده باشد، یا اگر هیچ جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می شود.

- ( GCKUIMultistateButton *) playPauseToggleButton
read write nonatomic weak

دکمه جابجایی "پخش/مکث".

تماس‌گیرنده باید نمادهای مناسبی را برای وضعیت‌های دکمه GCKUIButtonStatePlay ، GCKUIButtonStatePlayLive ، و GCKUIButtonStatePause تنظیم کند، یعنی یک نماد "مکث" برای وضعیت پخش، یک نماد "توقف" برای وضعیت پخش زنده و یک نماد "پخش" برای حالت پخش حالت مکث وضعیت دکمه به طور خودکار به روز می شود تا وضعیت پخش فعلی را در گیرنده منعکس کند. با ضربه زدن روی دکمه، پخش رسانه بارگیری شده در حال حاضر متوقف می شود یا در گیرنده از سر گرفته می شود. اگر رسانه بارگیری‌شده فعلی از توقف پشتیبانی نمی‌کند، یا اگر پخش در حال حاضر در حال انجام یا توقف موقت نباشد، یا اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می‌شود.

- ( GCKUIPlayPauseToggleController *) playPauseToggleController
read write nonatomic strong

یک کنترلر ضامن "پخش/مکث".

به‌عنوان پایه‌ای برای یک رابط کاربری تغییر حالت پخش/مکث ارائه‌شده توسط برنامه کاربردی استفاده می‌شود. برای جزئیات به GCKUIPlayPauseToggleController مراجعه کنید.

از آنجا که
3.4
- (UIButton*) stopButton
read write nonatomic weak

یک دکمه "توقف".

با ضربه زدن روی دکمه، پخش رسانه بارگذاری شده در حال حاضر در گیرنده متوقف می شود. اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می‌شود.

- (UIButton*) forward30SecondsButton
read write nonatomic weak

دکمه ای برای جستجوی 30 ثانیه به جلو در مورد رسانه در حال پخش.

اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می‌شود.

- (UIButton*) rewind30SecondsButton
read write nonatomic weak

دکمه ای برای جستجوی 30 ثانیه در مورد رسانه در حال پخش.

اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می‌شود.

- (UIButton*) pauseQueueButton
read write nonatomic weak

دکمه ای برای توقف پخش صف پس از اتمام پخش آیتم فعلی.

- (UIButton*) nextButton
read write nonatomic weak

یک دکمه "بعدی".

با ضربه زدن روی دکمه، پخش به آیتم رسانه بعدی در صف منتقل می شود. اگر این عملیات پشتیبانی نشود، یا اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می‌شود.

- (UIButton*) previousButton
read write nonatomic weak

یک دکمه "قبلی".

با ضربه زدن روی دکمه، پخش به آیتم رسانه قبلی در صف منتقل می شود. اگر این عملیات پشتیبانی نشود، یا اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می‌شود.

- ( GCKUIMultistateButton *) repeatModeButton
read write nonatomic weak

دکمه ای برای چرخش در حالت های تکرار صف موجود.

(به GCKMediaRepeatMode مراجعه کنید.) تماس گیرنده باید نمادهای مناسبی را برای حالت های دکمه GCKUIButtonStateRepeatOff ، GCKUIButtonStateRepeatSingle ، GCKUIButtonStateRepeatAll ، و GCKUIButtonStateShuffle دکمه تنظیم کند. وضعیت دکمه به طور خودکار به روز می شود تا حالت تکرار صف فعلی را در گیرنده منعکس کند. ضربه زدن روی دکمه به ترتیب به حالت تکرار بعدی می رود:

GCKMediaRepeatModeOffGCKMediaRepeatModeAllGCKMediaRepeatModeSingleGCKMediaRepeatModeAllAndShuffle

اگر در حال حاضر هیچ جلسه Cast فعال نباشد، دکمه غیرفعال خواهد شد.

- (UISlider*) streamPositionSlider
read write nonatomic weak

یک نوار لغزنده برای نمایش و تغییر موقعیت جریان فعلی.

هنگامی که مقدار لغزنده توسط کاربر تغییر می کند، موقعیت جریان رسانه بارگذاری شده فعلی در گیرنده به روز می شود. در حالی که پخش رسانه در گیرنده در حال انجام است، مقدار لغزنده در زمان واقعی به روز می شود تا موقعیت جریان فعلی را منعکس کند. اگر رسانه بارگیری‌شده فعلی از جستجو پشتیبانی نکند، یا اگر رسانه‌ای بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، نوار لغزنده غیرفعال می‌شود.

- (UIProgressView*) streamProgressView
read write nonatomic weak

نمایی برای نمایش پیشرفت جریان فعلی.

در حالی که پخش رسانه در گیرنده در حال انجام است، مقدار نماها در زمان واقعی به روز می شود تا موقعیت جریان فعلی را منعکس کند. اگر رسانه بارگیری‌شده فعلی یک پخش جریانی زنده باشد، یا اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، نما غیرفعال می‌شود.

- (UILabel*) streamPositionLabel
read write nonatomic weak

برچسبی برای نمایش موقعیت جاری جریان، در دقیقه و ثانیه.

اگر در حال حاضر هیچ رسانه ای بارگیری نشده باشد، یا اگر هیچ جلسه Cast در حال حاضر فعال نباشد، برچسب یک شکل محلی از "--:--" را نشان می دهد.

- (UILabel*) streamDurationLabel
read write nonatomic weak

برچسبی برای نمایش مدت زمان جاری جریان، بر حسب دقیقه و ثانیه.

اگر رسانه بارگیری شده در حال حاضر مدت زمان نداشته باشد (مثلاً اگر پخش جریانی زنده باشد)، یا اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، برچسب یک شکل محلی از «- را نشان می‌دهد. --:--".

- (UILabel*) streamTimeRemainingLabel
read write nonatomic weak

برچسبی برای نمایش زمان پخش باقی مانده (مدت منهای موقعیت)، بر حسب دقیقه و ثانیه.

اگر رسانه بارگیری شده در حال حاضر مدت زمان نداشته باشد (مثلاً اگر پخش جریانی زنده باشد)، یا اگر رسانه‌ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، برچسب یک شکل محلی از «- را نشان می‌دهد. --:--".

- ( GCKUIStreamPositionController *) streamPositionController
read write nonatomic strong

یک کنترل کننده موقعیت جریان.

به عنوان یک پایه برای موقعیت پخش سفارشی، ارائه شده توسط برنامه و/یا رابط کاربری جستجو استفاده می شود. برای جزئیات بیشتر به GCKUIStreamPositionController مراجعه کنید.

از آنجا که
3.4
- ( GCKUIPlaybackRateController *) playbackRateController
read write nonatomic strong

یک کنترلر نرخ پخش جریانی.

برای جزئیات به GCKUIPlaybackRateController مراجعه کنید.

از آنجا که
4.0
- (BOOL) displayTimeRemainingAsNegativeValue
read write nonatomic assign

آیا زمان پخش باقیمانده به عنوان یک مقدار منفی نمایش داده می شود، به عنوان مثال، "-1:23:45".

به طور پیش فرض این ویژگی روی YES تنظیم شده است.

- (BOOL) hideStreamPositionControlsForLiveContent
read write nonatomic assign

اینکه آیا کنترل‌های موقعیت پخش جریانی (شامل لغزنده موقعیت پخش، برچسب موقعیت جریان، برچسب مدت زمان پخش جریانی، و نمای پیشرفت جریان) باید برای محتوای زنده پنهان شوند.

مقدار پیش فرض NO .

از آنجا که
4.0
- (UIButton*) tracksButton
read write nonatomic weak

دکمه ای برای انتخاب آهنگ های صوتی و/یا زیرنویس ها یا زیرنویس ها.

با ضربه زدن روی دکمه، رابط کاربری انتخاب آهنگ های رسانه به کاربر نمایش داده می شود. اگر رسانه بارگیری شده در حال حاضر هیچ تراک رسانه ای قابل انتخابی نداشته باشد، یا اگر رسانه ای در حال حاضر بارگیری نشده باشد، یا اگر جلسه Cast در حال حاضر فعال نباشد، دکمه غیرفعال می شود.

- (UILabel*) smartSubtitleLabel
read write nonatomic weak

برچسبی برای نمایش زیرنویس برای رسانه بارگذاری شده فعلی.

اگر فیلد زیرنویس به صراحت در فراداده تنظیم نشده باشد، برچسب مناسب ترین فیلد فراداده را بر اساس نوع رسانه نمایش می دهد، به عنوان مثال نام استودیو برای یک فیلم یا نام هنرمند برای یک آهنگ موسیقی.

- (UIActivityIndicatorView*) mediaLoadingIndicator
read write nonatomic weak

نمای نشانگر فعالیت برای نشان دادن اینکه رسانه در حالت بارگذاری قرار دارد.

- (UILabel*) skipAdLabel
read write nonatomic weak

برچسبی برای نمایش مدت زمان باقی مانده تا رد شدن از آگهی.

از آنجا که
4.3
- (UIButton*) skipAdButton
read write nonatomic weak

دکمه ای برای رد شدن از تبلیغ فعلی.

از آنجا که
4.3