Переопределяет синтезировать свойство в Objective C хорошо или плохо?

Очень хороший вопрос, и я удивлен, поскольку думал, что это очень распространенная задача в настоящее время, так что у меня будет достаточно ресурсов для этой проблемы, однако оказалось, что это не так.

Мои мысли заключаются в следующем: - Создать какой-то модуль, который имеет общую логику между контроллерами API и контроллерами HTML без возврата json или рендеринга html, и включить этот модуль как в контроллер HTML, так и в контроллер API, затем делайте что хотите, например:

module WebAndAPICommon
    module Products

        def index
            @products = # do some logic here that will set @products variable
        end

    end
end


class ProductsController < ApplicationController
    # default products controlelr, for rendering HMTL pages 
    include WebAndAPICommon

    def index
        super
    end

end



module API
    class ProductsController
        include WebAndAPICommon

        def index
            super
            render json: @products
        end

    end
end
5
задан Cœur 23 October 2019 в 06:57
поделиться

1 ответ

Это нормально. Из документации :

Вы используете ключевое слово @synthesize для скажите компилятору, что он должен синтезировать сеттер и / или геттер методы для свойства, если вы не предоставить их в @implementation block.

То есть, если вы предоставите их, компилятор будет использовать ваши, независимо от директивы @synthesize.

5
ответ дан 14 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: